PDA

View Full Version : مشکل با alert در هنگام زدن دکمه Back



Vahid_Keyany
دوشنبه 31 مرداد 1384, 14:12 عصر
با سلام خدمت دوستان عزیز،

من یک فرم دارم که لیستی از رکوردها را نمایش میدهد. روی هر سطر که کلیک شود در صفحه دیگری جزئیات آن رکورد نمایش داده میشود. کاربر سایت سطح دسترسی خاصی دارد و من میخواهم اگر رکوردی را کلیک کرد که مجوز مشاهده آن را ندارد پیامی دریافت کند (بصورت جاوا اسکریپت). بخاطر شرایط خاصی که مشتری میخواهد نمیتوانم رکوردها را قبل از اینکه به کاربر نمایش دهم فیلتر کنم و باید حتی رکوردهایی که مربوط به کاربر نیستند هم به او نمایش داده شود.

من برای پیاده سازی این فرم از یک کنترل Literal استفاده کردم که بطور پیش فرض Visible آن روی False تنظیم شده است. و درونش کد جاوا اسکریپت را قرار داده ام. وقتی میخواهم پیام نمایش داده شود Visible آن را True میکنم.

مشکل : کاربر ابتدا روی رکوردی کلیک میکند که سطح دسترسی به آن را ندارد و پیام را میبیند. سپس روی رکوردی کلیک میکند که سطح دسترسی به آن را دارد و به صفحه جزئیات میرود. وقتی دکمه Back برنامه مرورگر را برای بازگشت به لیست رکورد ها میزند مجددا پیام را میبیند ، درحالی که نباید این اتفاق بیافتد.

با تشکر

H_Ghaffarian
سه شنبه 01 شهریور 1384, 07:06 صبح
سلام
شما می تونید بدون جاوا اسکریپت هم اینکار رو انجام بدید. برای این منظور فقط کافی با یک شرط در رویداد کلیک مشاهده جزئیات اگه کاربر سطح دسترسی مجاز رو نداشت Visible لیبل حاوی پیام خطا رو True کرده و گرنه False کنید و جزئیات رو به کاربر نشون بدید.

Vahid_Keyany
سه شنبه 01 شهریور 1384, 07:43 صبح
سلام
از پاسخ شما متشکرم . بله ، این صحیح است ولی من تاکید کردم که با جاوا اسکریپت و بصورت دایالوگ پیام میخواهم اینکار انجام شود. چون یک لیبل توجه زیادی را جلب نمیکند و در صفحه ای که یک گرید بزرگ قرار دارد لیبل را کجا میشه گذاشت که تو ذوق نزنه و گیرا هم باشه ؟

Vahid_Keyany
سه شنبه 01 شهریور 1384, 11:08 صبح
سلام علیکم
لیبل هم گذاشتم ولی باز هم همینطوره ، وقتی از فرم جزئیات دکمه Back مرورگر را میزنم باز هم لیبل نمایش داده میشه. خاصیت EnableViewState اون هم روی False تنظیم شده. هیچ رویدادی موقع بازگشت از فرم جزئیات به فرم اصلی اتفاق نمی افته Page_Load, Page_PreRender . و اگر بخواهیم با جاوا اسکریپت هم در رویداد لود فرم این کار را کنیم ، اشیای ASP.NET در آن لحظه وجود ندارند. اگر از اشیای HTML استفاده کنیم از تو کد ASP.NET به اونها دسترسی نداریم تا visible شان را True کنیم.
متشکرم