PDA

View Full Version : استفاده از چند menu در صفحه



ali_mnkt
پنج شنبه 01 بهمن 1388, 14:25 عصر
سلام به همه دوستان

من با Free Sothink DHTML Menu یه منو طراحی کردم و به برنامم اضافه کردم خوب تا اینجا

مشگلی نیست . من یک قسمتی به نام پنل مدیریتی دارم که تا وقتی مدیر وارد نشده نشون

داده نشه و وقتی مدیر وارد شد در لیست منو قسمتی به نام پنل مدیریتی هم نمایش داده بشه.

خوب من تصمیم گرفتم دوتا menu بسازم که یکیش با گزینه پنل مدیریتی و یکی دیگه بدون گزینه

پنل مدیریتی و هر وقت مدیر وارد سایت شد اون menu ای که گزینه پنل مدیریتی داره نمایش

داده بشه . خوب من از master page استفاده کردم که menu رو هم در اون قرار دادم و برای

سطح دسترسی هم از session استفاده کردم. خوب حالا با چه دستوری بگم که هر وقت

مدیر وارد شد کدوم menu رو نشون بده؟ (با توجه به این که برای ظاهر شدن menu در c# کدی

وجود نداره و کد مربوط به نمایش menu به صورت script در قسمت Html هستش پس

مسلما اونجا این دوتا رو باید از همدیگه جدا کنم )

Mostafa_Dindar
پنج شنبه 01 بهمن 1388, 14:50 عصر
سلام .

خوشبختانه دات نت اينجور نيازهاي پايه و عمومي را براورده كرده . استفاده شايسته از LoginView تمامي مشكلات شما را برطرف ميكند .

براي آشنايي با طرز كار LoginView به اين صفحه مراجعه كنيد (http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/login/loginview.aspx)

موفق باشيد

ali_mnkt
جمعه 02 بهمن 1388, 00:49 صبح
دوست عزیز همونطور که گفتم من از session استفاده کردم و فقط مشگلم اینه که فرض کن

من دوتا script دارم (که اونم همون script های مربوط به dhtml هست ) و می خوام بر اساس

این که آبا session مربوطه وجود داره یا نه یکیشو اجرا کنه (مثل دستور if else ) فقط مشگل

من اینجاست که چون این script ها در قسمت کد های html هستن نمی دونم چطور بر اساس

session این ساختار رو (if else) رو پیاده سازی کنم.

حالا اگه کسی می دونه ممنون می شم کمک کنید .

ali_mnkt
شنبه 03 بهمن 1388, 23:56 عصر
دوستان یعنی واقعا راهی نداره ؟

corona
یک شنبه 04 بهمن 1388, 10:44 صبح
دوست عزیز ، من وقتی لازم دارم که مثلا اگه مدیر سایت وارد شد گزینه مدیریت هم نشون داده بشه ، همیشه از Menu خود asp استفاده می کنم بعد تو رویداد MenuItemDataBound چک می کنم به این صورت


string text = e.Item.Text;
if (!HttpContext.Current.User.Identity.IsAuthenticate d)
if (text == "تنظیمات کاربری")
e.Item.Parent.ChildItems.Remove(e.Item);

if (!HttpContext.Current.User.IsInRole("Admin"))
{
if (text == "مدیریت سایت")
e.Item.Parent.ChildItems.Remove(e.Item);
}


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

maxpayn2
یک شنبه 04 بهمن 1388, 12:02 عصر
میتونی از MultiView استفاده کنی