PDA

View Full Version : مشکل با آمار بازدید



mamad_za
سه شنبه 25 فروردین 1394, 12:59 عصر
دوستان من می خواستم یه آمار بازدید ساده درست کنم که کردم:لبخند: اما یه مشکلی که داره اینه که وقتی پیج لود میشه 4 تا به آمار بازدید اضافه میشه به جای 1 چرا؟ ::لبخند:
try
{
SqlConnection con = new SqlConnection(conStr);
SqlCommand cmd1=new SqlCommand("Update tbl_Project Set ViewPro=ViewPro+1",con);
con.Open();
cmd1.ExecuteNonQuery();
con.Close();
}
catch(Exception a){
lblResult.Text=a.Message;
}

salibsatan
سه شنبه 25 فروردین 1394, 14:28 عصر
این کد رو کجا گذاشتی؟ اگه توی page load هست از !ispostback استفاده کن شاید مشکلت حل شه.
مشکل احتمالی محلی هست که این کد فراخونی میشه

mamad_za
سه شنبه 25 فروردین 1394, 16:11 عصر
salib جان تو یه فانکشن نوشتم و تو پیج لود هم از ispostback استفاده کردم که اگه فالز بود اینو اجرا کنه ، ولی نمی دونم چرا 4 تا اضافه می کنه

salibsatan
چهارشنبه 26 فروردین 1394, 09:42 صبح
راه حل هایی که به ذهنم میرسه (حداقل برای دیباگ)
1-try و catch رو غیرفعال کنید
2-کد رو مستقیم در پیج لود قرار بدید نه در فانکشن
3-اون +1 رو به +2 تغییر بدید ببینید واقعا 4بار اضافه میشه یا 4 از جای دیگه میاد

Mousavmousab
پنج شنبه 27 فروردین 1394, 00:53 صبح
برادر ، عزیز دل من ، داداش گلم. از Try catch برای بررسی خطا در محیط VS استفاده می کنید ؟ برادر پس Break Point برای چیه ؟
دوست عزیز بهترین کار اینه که شما این کد را مستقیما توی SQL Management ران کنید.
اگر اونجا درست کار کرد پس 100% از ویژوال استادیو هست ( یعنی کد هایی که توی ویژوال استادیو نوشتین) با یه Break Point گذاشتن مشکلتون حل میشه

hoolity.com (http://www.hoolity.com)
هولایتی


موفق باشید.

mamad_za
پنج شنبه 27 فروردین 1394, 10:48 صبح
دوست عزیز کد که اجرا میشه مشکلی تو اجراش ندارم فقط به جای یه دونه 4 تا ضافه می شه

mamad_za
پنج شنبه 27 فروردین 1394, 10:50 صبح
یه سوال دیگه الان این Try catch من استفاده کردم مگه مشکلی داره؟ یعنی نباید از try استفاده کرد؟

mamad_za
شنبه 29 فروردین 1394, 11:21 صبح
دوستان این مشکل تا حالا برای کسی به وجود پیش نیومده؟

salibsatan
شنبه 29 فروردین 1394, 14:28 عصر
راه حل هایی که به ذهنم میرسه (حداقل برای دیباگ)
1-try و catch رو غیرفعال کنید
2-کد رو مستقیم در پیج لود قرار بدید نه در فانکشن
3-اون +1 رو به +2 تغییر بدید ببینید واقعا 4بار اضافه میشه یا 4 از جای دیگه میاد


دوستان این مشکل تا حالا برای کسی به وجود پیش نیومده؟
کاری که گفتم انجام دادی دوست عزیز؟نتیجه؟یه بلوک بیشتر از کدت رو بزار.این قسمت از کد که (از دید من) مشکلی نداره.مشکل اجرا شدنش هست

mamad_za
شنبه 29 فروردین 1394, 15:52 عصر
آره اتفاقاً +2 هم کردم حتی نوع داده ای sql اش رو هم عوض کردم ، اما نشد ، وقتی +2 کردم 10 تا 10 تا اضافه می شد.
حتی بردمش داخل page load اما باز هم نشد

arashnaderi
شنبه 29 فروردین 1394, 17:54 عصر
سلام
آمار بازدید رو توی پیج لود گذاشتین؟ این منطقی نیست دوست عزیز
باید توی فایل گلوبال، توی متد session_start بزارید

mamad_za
یک شنبه 30 فروردین 1394, 22:51 عصر
آره تو پیج لود گذاشتم دیگه من نمی خوام آمار تعداد افراد آنلاین سایت یا تعداد بازدید از سایت رووو در بیارم که فقط می خوام تعداد بازدید از یه پیج خاص در بیارم

shima and pariya
یک شنبه 30 فروردین 1394, 23:56 عصر
آره اتفاقاً +2 هم کردم حتی نوع داده ای sql اش رو هم عوض کردم ، اما نشد ، وقتی +2 کردم 10 تا 10 تا اضافه می شد.
حتی بردمش داخل page load اما باز هم نشد

برک پوینت رو برای پیج لود و همینطور باتن(اگه داری)بزار و همینطور موارد اضافه رویکی یکی کدهاشو بردار
شایدpostback داری متوجه نمیشی

Davidd
دوشنبه 31 فروردین 1394, 09:29 صبح
در داخل صفحه از Ajax UpdatePanel استفاده نکردید؟ اگه جواب مثبته دلیلش اینه که با هربار request بوسیله UpdatePanel کل رخدادهای صفحه شامل page_load و ... اجرا میشوند. در این حالت استفاده از ViewState میتونه کمکت کنه. میتونی در Page_load چک کنی که متغیر مثلا به نام IsVisited داخل ViewState مقدارش Null هست یا نه. اگه Null بود ینی صفحه برای بار اول داره لود میشه در اینصورت تعداد بازدید صفحه در دیتابیس باید بروز بشه و در آخر به متغیر IsVisited در ViewState یک مقدار بدید. چنانچه در Page_load متغیر IsVisited مقدار داشت ینی Page_load قبلا یه بار اجرا شده.

mamad_za
چهارشنبه 02 اردیبهشت 1394, 16:40 عصر
در داخل صفحه از Ajax UpdatePanel استفاده نکردید؟ اگه جواب مثبته دلیلش اینه که با هربار request بوسیله UpdatePanel کل رخدادهای صفحه شامل page_load و ... اجرا میشوند. در این حالت استفاده از ViewState میتونه کمکت کنه. میتونی در Page_load چک کنی که متغیر مثلا به نام IsVisited داخل ViewState مقدارش Null هست یا نه. اگه Null بود ینی صفحه برای بار اول داره لود میشه در اینصورت تعداد بازدید صفحه در دیتابیس باید بروز بشه و در آخر به متغیر IsVisited در ViewState یک مقدار بدید. چنانچه در Page_load متغیر IsVisited مقدار داشت ینی Page_load قبلا یه بار اجرا شده.

ممنونم دوست عزیز اما من اصلا ً ایجکس و آپدیت پنل استفاده نکردم نمی دونم واقعاً با این مورد چیکار کنم خیلی شاخ شده