PDA

View Full Version : سوال: اجر شدن مجدد كد در رويداد(دو بار)



rezaiy.ali
سه شنبه 24 دی 1387, 19:35 عصر
با سلام خدمت دوستان
من در رويداد SelectedIndexChanged كنترل GridView كد زير را نوشته ام ولي نمي دانم كه چرا اين كد دو بار اجرا مي شود.


protectedvoid Search_GridView_SelectedIndexChanged(object sender, EventArgs e)
{
DT = Code_Request_obj.GetData(Int32.Parse(Search_GridVi ew.SelectedRow.Cells[0].Text));

for (int i = 0; i <= DT.Rows.Count - 1; i++)
{
if (DT.Rows[i]["Support"].ToString() == "false")
{
Request_obj.Update(Int32.Parse(Request.Params["SickId"].ToString()), Int32.Parse(DT.Rows[i]["id"].ToString()));
Response.Redirect("Meet_Request.aspx?Blueprint=" + Search_GridView.SelectedRow.Cells[0].Text + "&Meet_Id=" + DT.Rows[i]["id"].ToString());
break;
}
}
int visit_Moment;
if (DT.Rows.Count > 0)
{
Time_obj = DateTime.Parse(DT.Rows[DT.Rows.Count - 1]["Time_Request"].ToString());
visit_Moment = Int32.Parse(visit_Moment_obj.GetData(Int32.Parse(S earch_GridView.SelectedRow.Cells[0].Text)).Rows[0]["Visit_Moment"].ToString());
Reduce_NumberSick_SqlDataSource.InsertParameters["Time_Request"].DefaultValue = Time_obj.AddMinutes(visit_Moment).ToShortTimeStrin g().Substring(0, 5);
}
else
{
Reduce_NumberSick_SqlDataSource.InsertParameters["Time_Request"].DefaultValue = Search_GridView.SelectedRow.Cells[4].Text;
}

//For Code Requets=Blueprint_Id + Sick_Id
Reduce_NumberSick_SqlDataSource.InsertParameters["Blueprint_Id"].DefaultValue = Search_GridView.SelectedRow.Cells[0].Text;
Reduce_NumberSick_SqlDataSource.InsertParameters["Sick_Id"].DefaultValue = Request.Params["Id"].ToString();
Reduce_NumberSick_SqlDataSource.Insert();
string lastId = Code_Request_obj.LastId().ToString();

Code_Request_obj.Dispose();
Request_obj.Dispose();
visit_Moment_obj.Dispose();
DT.Dispose();
Response.Redirect("Meet_Request.aspx?Buleprint=" + Search_GridView.SelectedRow.Cells[0].Text + "&Meet_Id=" + lastId);
}


دقيقا كه با BeackPoint چك مي كنم زماني كه به دستور Response.Redirect ميرسه، برميگرده به اول كد و دوباره كد ها رو اجرا مي كنه و اين بار كه به دستور Response.Redirect كه رسيد تغيير مسير ميده و روال عادي را صورت ميده.

به نظر دوستان مشكل از كجاست
با تشكر

rezaiy.ali
چهارشنبه 25 دی 1387, 09:55 صبح
از دوستان براي اين مشكل پيشنهادي ندارند؟

afshinjazi
چهارشنبه 25 دی 1387, 14:58 عصر
سلام دوست عزيز فكر كنم اين لينك به دردت بخوره پست 18 ام


http://barnamenevis.org/forum/showthread.php?t=104052&page=2

rezaiy.ali
چهارشنبه 25 دی 1387, 21:37 عصر
متاسفانه مشكل حل نشد
نمي دانم كد بايد به همان ترتيبي كه نوشته شده اجرا شود و لي در اجرا برنامه از خطي به خط ديگر مي پرد.
واقعا كلافه شدم.

afshinjazi
پنج شنبه 26 دی 1387, 12:24 عصر
دوست عزيز من اين كدي رو كه گفتم به Vb گفتم.....

ولي اصل كار اين هست كه قبل از عمليات insert يا update قسمت Session('sql') رو چك كنيد بعدش insertو .... رو انجام بدين ......

نهايتا در انتهاي كارت session('sql') رو با يه مقدار ديگه مثل 0 عوض كنين....


من از اين روش استفاده كردم و جواب داد.....

احتمالا شما نحوه استفادشو درست اقدام نكردين...