PDA

View Full Version : تشخیص اینکه صفحه رفرش شده یانه؟



ASP.NET2
پنج شنبه 26 آبان 1390, 14:36 عصر
سلام .
من می خوام که بازدید از هر خبر رو پیدا کنم. بهتر بگم وقتی کاربر وارد صفحه میشه یک واحد به تعداد بازدید ها اضافه بشه.

من خبرهارو که تو یه UserControl هستش قرار دادم id رو از QueryString با استفاده از SqlDataScource می گیرم. که به ازای هر id اون خبر نشون داده بشه.
usercontrol من داخل یک Webform قرار داره.
من تو رویداد Page_Load ، UserControl کدهایی دارم که فقط می خوام وقتی کاربر وارد صفحه شد اجرا بشن.
ولی نمی خوام با Refresh کردن این کدها اجرا نشن.
فقط یک بار و برای اولین بار.
کسی می دونه این کارو چطور باید انجام داد؟ اینکه تشخیص بدیم صفحه داره refresh میشه یا برای اولین بار بازدید میشه؟

viewstate,Session,hiddenfield جواب نداد.

mahdioo12194
پنج شنبه 26 آبان 1390, 15:02 عصر
می تونی یه متغیر تعریف کنی(تعداد بازدید) اگر مقدارش صفر (یا مثلا 1)بود یعنی صفحه برای اولین بار بازدید شده !! بعد این متغیر را در پایگاه داده ذخیره کن!

برای تشخیص رفرش از این کد استفاده کن!



if (Page.IsPostBack) {


}


بعد متغیر را در این شرط بررسی کن اگر 0 بود کد های مربوطه را بنویس اگرهم 0 نبود یه سری کارهای دیگه!

ASP.NET2
پنج شنبه 26 آبان 1390, 15:28 عصر
می تونی یه متغیر تعریف کنی(تعداد بازدید) اگر مقدارش صفر (یا مثلا 1)بود یعنی صفحه برای اولین بار بازدید شده !! بعد این متغیر را در پایگاه داده ذخیره کن!

برای تشخیص رفرش از این کد استفاده کن!



if (Page.IsPostBack) {


}


بعد متغیر را در این شرط بررسی کن اگر 0 بود کد های مربوطه را بنویس اگرهم 0 نبود یه سری کارهای دیگه!

شما فکر می کنید که Refresh با PostBack یکی هستن ؟ تو این صفحه اصلا post Back انجام نمیشه.

mahdioo12194
پنج شنبه 26 آبان 1390, 15:55 عصر
http://www.codeproject.com/KB/aspnet/DetectingRefresh_.aspx

ASP.NET2
پنج شنبه 26 آبان 1390, 18:32 عصر
http://www.codeproject.com/KB/aspnet/DetectingRefresh_.aspx
این مثال تو Webform کار میکنه ولی من می خوام تو UserControl تشخیص بدم که
1-firstload
2-postback
3-refresh
هست یا نه.
webform من از masterpage تبعیت میکنه و usercontrol هم تو تو همین webform هستش.؟؟؟