PDA

View Full Version : سوال: اجرای دوباره آخرین دستور اجرا شده در refresh کردن صفحه



sh_1366
سه شنبه 14 دی 1389, 11:38 صبح
با سلام خدمت دوستان
من وقتی رویداد کلیک رو اجرا می کنم و دستور کامل اجرا می شود حالا اگه صفحه رو refresh کنم دوباره همون دستور کلیلک رو دباره اجرا می کند
اگه دوستان راه حلی برای حل این مشکل دارند راهنمایی کنند ممنون می شوم

javad.nic63
سه شنبه 14 دی 1389, 11:54 صبح
به نظرم اگه دستورت رو توی یه سشن بزاری و توی page load فراخونیش کنی بتونی این کار رو بکنی.

sh_1366
سه شنبه 14 دی 1389, 12:15 عصر
دوست من فکر کنم منظور من رو اشتباه متوجه شدید
وقتی در صفحه کلیک راست می کنم و دستور refresh را فرا خوانی میکنم دستور اجرا شده قبلی به طور اتواتیک دوباره اجرا می شود من نمی خواهم دستور قبلی اجرا شود

amir.karami
سه شنبه 14 دی 1389, 12:29 عصر
دوست عزیز مشکل شما رو خیلی ها تو برنامه های تحت وبشون دارن و بهترین راه حل آن به صورت زیر میباشد
در انتهای کلاس داخلی رویداد کلیک یا هر even این دستور رو قرار بده:

Response.Redirect(Request.Url.ToString(), false);
البطه اگر بخواید که این مشکل رو با استفاده از session حل کنید از این روش استفاده کنید.

void Page_Load(Object sender, EventArgs e)
{
if(!IsPostBack)
{
Session["update"] = Server.UrlEncode(System.DateTime.Now.ToString());
}
}



void Page_PreRender(object obj,EventArgs e)
{
ViewState["update"] = Session["update"];
}


void btnSubmit_Click(object obj, EventArgs e)
{
string name = "";
string qualification = "";


if (Session["update"].ToString() == ViewState["update"].ToString())
{بقسه دستورات رو که میخوای فقط یک بار انجام بشه رو اینجا وارد کنید}

sh_1366
سه شنبه 14 دی 1389, 13:03 عصر
جناب اقای کرمی
این روش شما هم کار نمی کند