PDA

View Full Version : تغییر شکل ظاهری منو



fatemeh rahimi
چهارشنبه 28 آذر 1386, 18:05 عصر
من می خوام یه منو داشته باشم که ظاهرش با اون چیزی که تو asp،هست متفاوته.
مثلا اون منویی که تو asp هست عمودیه ،ولی من می خوام افقی باشه!
می خواستم بدونم چطور می تونم منو رو به شکل ظاهری دلخواهم دربیارم؟
(شاید سوال من خیلی ابتدایی باشه ولی من که تازه کارم جوابشو نمیدونم وفکر می کنم این سایت هم برای مطرح کردن سوال هایی هست که نمی دونیم وگرنه چه لزومی به پرسیدن بود:متفکر:)
پس اگه کسی می دونه راهنمایی کنه!
یه سوال دیگه اینکه فکر می کنید از کدهای جاوا برای ساختن منو استفاده کنم بهتره یا از خود منو asp استفاده کنم؟(از نظر اینکه کدوم کمتر به مشکل بر میخوره می پرسم)

m.hamidreza
چهارشنبه 28 آذر 1386, 21:45 عصر
یه سری نرم افزار تحت عنوان DHTML Menu Builder مثه Sothink هست که میتونی دانلود کنی ، گرافیکش خوبه و با javascript هم هست ...

fatemeh rahimi
چهارشنبه 28 آذر 1386, 22:53 عصر
بابت نرم افزاری که معرفی کردید ،ممنون.با این وجود خود منویی که تو asp هست رو می تونم تغییر بدم یا نه؟

m.hamidreza
چهارشنبه 28 آذر 1386, 23:35 عصر
بابت نرم افزاری که معرفی کردید ،ممنون.با این وجود خود منویی که تو asp هست رو می تونم تغییر بدم یا نه؟
توی Properties منو یه ویژگی داره به نام Orientation اونو Horizantal کن ...

scorpion_man
پنج شنبه 29 آذر 1386, 01:06 صبح
بابت نرم افزاری که معرفی کردید ،ممنون.با این وجود خود منویی که تو asp هست رو می تونم تغییر بدم یا نه؟
با سلام به دوست عزیز
بله خیلی راحت میتونید ظاهرشونو تغییر بدید و راهش استفاده از Style ها هست
ببینید تو منو ها دو تا پروپرتی با نامهای static menu item و dynamic menu item هستند که اولی به منوهای ثابتتون اشاره داره و دومی به منو های بازشوندتون هر کدوم از اینا پروپرتیهای خاص خودشونو دارن که به زمانی که موس روشون قرار میگیره و غیره اشاره دارن
هر کدوم از اینا یه خاصیت بنام CssClass دارن که اینجا باید نام خاصیتی که قبلا تو یه فایل از نو StyleSheet تعریف کردین اشاره میکنن که میتونید از سایز فونت گرفته تا تصویر پشت زمینه و اندازهو فاصله سلولها رو تعریف کنید خلاصه یه کنترل بسار قدرتمندی هست
موفق باشید

fatemeh rahimi
پنج شنبه 29 آذر 1386, 10:35 صبح
از پاسخ همگی ممنون،مشکل قبلی رفع شد ولی یه سوال دیگه دارم:
تو #C ، برای هر آیتم منو یه رویداد کلیک ساخته میشه که داخل اون می تونیم کد مورد نظرمون رو بنویسیم،ولی تو asp ،برای هر آیتم از منو این رویداد ساخته نمیشه! من برای نوشتن کد مربوط به هر کدوم از آیتم های منو،چیکار کنم؟می تونم خودم برای تک تک آیتم ها رویداد کلیک تعریف کنم؟

hamed_bostan
پنج شنبه 29 آذر 1386, 23:53 عصر
کسی آیا چند تا css قشنگ واسه خود منوهای دات نت سراغ داره؟؟؟
ممنون میشیم اگه بذاره

miladr
جمعه 30 آذر 1386, 00:40 صبح
شما اول این مقاله رو بخونید
http://weblogs.asp.net/scottgu/archive/2006/05/02/CSS-Control-Adapter-Toolkit-for-ASP.NET-2.0-.aspx

hamed_bostan
جمعه 30 آذر 1386, 16:17 عصر
و اگز یکی نخواد از این استفاده کنه و بخواد واسه onmouse hiver یه اینطور کاری رو بکنه چطور با css میتونه؟

mehrdad201
شنبه 01 دی 1386, 00:47 صبح
اولا hiver نه و hover

بعشدم با css میشه

به این شکل عمل کن


.css1
{

}
.css1:hover
{
}

اون قسمت دوم مال حالت hover هستش.

scorpion_man
شنبه 01 دی 1386, 00:48 صبح
و اگز یکی نخواد از این استفاده کنه و بخواد واسه onmouse hiver یه اینطور کاری رو بکنه چطور با css میتونه؟
با سلام
خوب cssclass رو تنظیم کن حالا تو css یه تصویر رو background بزنی میشه یا از رنگها استفاده کن با حاشیه جداول با فاصله ها خلاصه همه کار میشه کرد البته من این template رو نگرفتم فقط به نمونه online نیگاه کردم که خیلی راحت میشه با style ساختش
موفق باشید

fatemeh rahimi
جمعه 07 دی 1386, 18:53 عصر
تو #C ، برای هر آیتم منو یه رویداد کلیک ساخته میشه که داخل اون می تونیم کد مورد نظرمون رو بنویسیم،ولی تو asp ،برای هر آیتم از منو این رویداد ساخته نمیشه! من برای نوشتن کد مربوط به هر کدوم از آیتم های منو،چیکار کنم؟می تونم خودم برای تک تک آیتم ها رویداد کلیک تعریف کنم؟
خواهشا اگه می دونید من برای هر آیتم منوم چطور رویداد کلیک داشته باشم بگین؟
اگر بخوام به propeties هر آیتمم دسترسی داشته باشم ، چیکار باید بکنم؟؟

miladr
جمعه 07 دی 1386, 23:20 عصر
خانم رحیمی فکر نمی کنم همچین چیزی وجود داشته باشه.

اگر از شیوه که تو این لینک استفاده کرده استفاده می کنین
http://weblogs.asp.net/scottgu/archive/2006/05/02/CSS-Control-Adapter-Toolkit-for-ASP.NET-2.0-.aspx
با این کد Css می تونین کنترل کامل رو ظاهر منو داشته باشین.اگه دقت کنین از عکس م استفاده کرده که عکس استفاده شد رو هم ضمیمه کردم .


#navcontainer { margin: 0;font-size: 12pt;
font-family:Arial;
direction:ltr;
text-align:right;}

#navcontainer ul
{
list-style-type: none;
font-weight: bold;
color: #990000;
}

#navcontainer a
{direction:rtl;
display: block;
padding-top: 17px;
padding-right: 37px;

background-color: #DCE3ED;
border-bottom: 1px solid #eee;
background-image: url(images/menu.png);
background-repeat: repeat-x;
height: 27px;
font-family: Arial, Helvetica, sans-serif;
font-size: 12pt;
}


#navcontainer a:link, #navlist a:visited
{
color: #93B26E;
text-decoration: none;
}

#navcontainer a:hover
{
background: url(images/menu.png) 0 -45px;
color: #562930;
}

عکس چون Png بود مجبور شدم JPG کنم

fatemeh rahimi
شنبه 08 دی 1386, 09:14 صبح
من برای authorization مجبورم به propertiesهای آیتم ها م،کنترل داشته باشم(مثلا برای اینکه enable هر آیتم رو true یا false کنم)،یعنی باید با کد اینا رو بنویسم!
با استفاده از tag فکر کنم بشه یه کارایی کرد ولی من می خوام با #C بنویسم!

miladr
شنبه 08 دی 1386, 12:17 عصر
ببین من درست متوجه شدم شما تو منوتون به یکسری کاربر می خواین اجازه رفتن به یه سری صفحه رو بدین به بعضی ها ندین؟

fatemeh rahimi
شنبه 08 دی 1386, 13:31 عصر
بله دقیقا. مشکلم اینجاست که برای یه کاربر آیتم هایی که دسترسی نداره، باید
visible اون آیتم ها false بشه،در صورتی که وقتی می خوام کد بنویسم،آیتم های منو رو نمی شناسه !
در ضمن من توی navigate url،مشخص کردم که با کلیک بر روی هر آیتم چه فرمی نمایش داده بشه،می شه با کد نویسی تو #C مشخص کرد که با کلیک بر روی هر آیتم چه منویی به نمایش در بیاد؟من رویداد کلیک برای هر آیتم نوشتم ولی جواب نداد!

scorpion_man
شنبه 08 دی 1386, 14:38 عصر
بله دقیقا. مشکلم اینجاست که برای یه کاربر آیتم هایی که دسترسی نداره، باید
visible اون آیتم ها false بشه،در صورتی که وقتی می خوام کد بنویسم،آیتم های منو رو نمی شناسه !
در ضمن من توی navigate url،مشخص کردم که با کلیک بر روی هر آیتم چه فرمی نمایش داده بشه،می شه با کد نویسی تو #C مشخص کرد که با کلیک بر روی هر آیتم چه منویی به نمایش در بیاد؟من رویداد کلیک برای هر آیتم نوشتم ولی جواب نداد!

با سلام به همه دوستان
ببینید دوست عزیز این کار چند تا راه داره
1- استفاده SiteMap Provider هاست که قبلا تو یکی از پستها در موردش توضیحاتی دادم که یک روش استاندارد .net هست
2- استفاده از MenuTemplate ها و DataBinder ها که میشه این کارو انجام داد ولی یه روش استاندارد نیست و در حالتهای محدود ازشون استفاده میکنم
موفق و پیروز باشید

scorpion_man
شنبه 08 دی 1386, 14:44 عصر
اما در مورد رویداد کلیک برای آیتمهای منو که یکی از دوستان سوال کرده بودند
اینکه خیلی ساده هست و یکی از رویدادهای استاندارد کنترل منو هست ولی باز هم یه توضیح مختصری عرض میکنم کنترل منو یه رویداد بنام MenuItemClick داره که رویداد کلیک تمامی آتمها به این رویداد ارجاع میشه تو این رویداد یه object بنام e هست که میتونید با e.CommandName
رویدادهای آیتمها رو مدیریت بکنید البته باید هنگام اضافه کردن منو آیتمها باید این خاصیت رو مقدار دهی بکنید و یا با databinder ها این خاصیت رو ست بکنید
موفق و پیروز باشید

miladr
سه شنبه 11 دی 1386, 17:48 عصر
بله دقیقا. مشکلم اینجاست که برای یه کاربر آیتم هایی که دسترسی نداره، باید
visible اون آیتم ها false بشه،در صورتی که وقتی می خوام کد بنویسم،آیتم های منو رو نمی شناسه !

شما باید دو تا منو داشته باشی یکی عمومی و دیگری واسه اعضا بعد ماله اعضا رو بندازی تو یه LoginView و اون رو تنظیم کنی.بعد یادت باشه تو یه صفحات خصوصی هم باید چک کنی که کاربر مجاز هست یا نه.

hamedgh
سه شنبه 11 دی 1386, 18:52 عصر
نقل قول:
نوشته شده توسط fatemeh rahimi http://barnamenevis.org/forum/images/buttons/viewpost.gif (http://barnamenevis.org/forum/showthread.php?p=442225#post442225)
بله دقیقا. مشکلم اینجاست که برای یه کاربر آیتم هایی که دسترسی نداره، باید
visible اون آیتم ها false بشه،در صورتی که وقتی می خوام کد بنویسم،آیتم های منو رو نمی شناسه !

شما باید دو تا منو داشته باشی یکی عمومی و دیگری واسه اعضا بعد ماله اعضا رو بندازی تو یه LoginView و اون رو تنظیم کنی.بعد یادت باشه تو یه صفحات خصوصی هم باید چک کنی که کاربر مجاز هست یا نه.نه راه حل این نیست اگر Authentication کامل و درستی داشته باشی
با این کد صفحات را برای کاربرانی که اجازه ندارن نشان نمی دهد
و در منو ان ها نمی اورد فقط در وب کانفیگت این کد را اضافه کن


<siteMap enabled="true" defaultProvider="AdminSiteMapProvider">
<providers>
<clear/>
<add name="AdminSiteMapProvider" description="The site map provider that reads in the .sitemap XML files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="web.sitemap"
securityTrimmingEnabled="true"/>
</providers>
</siteMap>
و در مورد کلیک که در منو می خواهی اگر می خواهی انها را به صفحات خاصی بفرستی
بهترین راه استفاده از Web.sitemap است البته کد بالا با تکنیک پایین هر دوی نیاز هایت
را برطرف می کند

موفق باشید ....

fatemeh rahimi
چهارشنبه 12 دی 1386, 16:34 عصر
از راهنمایی همگی ممنون.

hamed_bostan
یک شنبه 16 دی 1386, 15:00 عصر
این سوال بیشتر به css کلاس ها مربوطه ولی خوب من تاپیک جدید ایجاد نکردم
کدی که باعث میشه تا منو به صورت fade و یا با effect های خاص باز بشه چی هستش؟