ali.monje
چهارشنبه 18 تیر 1393, 23:18 عصر
سلام
دوستان این ارور پدرمو در آورد
ببینید شما میتونید کمک کنید.
این تکه کدی هست که لازم دارم من وقتی که تو گرید روی دکمه ادیت کلیک میشه: ( بعد مقدار دهی سیشن با توجه به PostBack ی که هست دوباره خود صفحه لود میشه )
protected void GV_content_RowCommand(object sender, GridViewCommandEventArgs e)
{
int id = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "edit")
{
Session["car_id"] = id;
}
}
بعد اینکه این کد رو اضافه کردم شروع کرد این ارور رو داد :
http://uc.mihanu.ir/uploads/14049331201.jpg (http://uc.mihanu.ir/)
این تیکه کد رو به صفحه اضافه کردم :
<% page EnableEventValidation="false" %>
با اضافه کردن این دیگه رویداد RowCommand مربوط به گرید اجرا نمیشد و صفحه الکی Redirect میشد ولی ارور نداشت، که مجبور شدم از Page.IsPostBack به این شکل استفاده کنم :
if (!(Page.IsPostBack))
{
if (Convert.ToInt32(Session["login"]) == 1)
{
cs = constr.CS();
if ((bool)Session["access"] == true)
{
list_all_car();
}
}
else
{
Response.Redirect("/login.aspx");
}
این بار یه ارور دیگه داد اونم اینه :
http://uc.mihanu.ir/uploads/14049334281.jpg (http://uc.mihanu.ir/)
اینم کدی هست که باید بعد عمل PostBack استفاده کنم :
if (Convert.ToInt32(Session["car_id"]) != 0)
{
SqlDataAdapter da = new SqlDataAdapter("select * from cars where id=@id", cs);
da.SelectCommand.Parameters.AddWithValue("@id", Convert.ToInt32(Session["car_id"]));
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
edit_model.Text = dt.Rows[0]["model"].ToString();
edit_color.Text = dt.Rows[0]["color"].ToString();
edit_pelak.Text = dt.Rows[0]["plaque"].ToString();
edit_year.Text = dt.Rows[0]["year_built"].ToString();
edit_km.Text = dt.Rows[0]["km"].ToString();
}
Response.Write("<script>"
+ "$(document).ready(function () {"
+ "$('.edit_kar_bg').show();"
+ "}</script>"
);
}
به نظرتون من الان باید چیکار کنم( چه خاکی تو سرم کنم از دست این ASP ) ، یعنی هم PostBack دکمه گرید درست کار کنه و هم بعد لود دوباره کدی که لازم دارم اجرا بشه ؟
شدید تو شدید منتظر پاسختون هستم :)
دوستان این ارور پدرمو در آورد
ببینید شما میتونید کمک کنید.
این تکه کدی هست که لازم دارم من وقتی که تو گرید روی دکمه ادیت کلیک میشه: ( بعد مقدار دهی سیشن با توجه به PostBack ی که هست دوباره خود صفحه لود میشه )
protected void GV_content_RowCommand(object sender, GridViewCommandEventArgs e)
{
int id = Convert.ToInt32(e.CommandArgument);
if (e.CommandName == "edit")
{
Session["car_id"] = id;
}
}
بعد اینکه این کد رو اضافه کردم شروع کرد این ارور رو داد :
http://uc.mihanu.ir/uploads/14049331201.jpg (http://uc.mihanu.ir/)
این تیکه کد رو به صفحه اضافه کردم :
<% page EnableEventValidation="false" %>
با اضافه کردن این دیگه رویداد RowCommand مربوط به گرید اجرا نمیشد و صفحه الکی Redirect میشد ولی ارور نداشت، که مجبور شدم از Page.IsPostBack به این شکل استفاده کنم :
if (!(Page.IsPostBack))
{
if (Convert.ToInt32(Session["login"]) == 1)
{
cs = constr.CS();
if ((bool)Session["access"] == true)
{
list_all_car();
}
}
else
{
Response.Redirect("/login.aspx");
}
این بار یه ارور دیگه داد اونم اینه :
http://uc.mihanu.ir/uploads/14049334281.jpg (http://uc.mihanu.ir/)
اینم کدی هست که باید بعد عمل PostBack استفاده کنم :
if (Convert.ToInt32(Session["car_id"]) != 0)
{
SqlDataAdapter da = new SqlDataAdapter("select * from cars where id=@id", cs);
da.SelectCommand.Parameters.AddWithValue("@id", Convert.ToInt32(Session["car_id"]));
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
edit_model.Text = dt.Rows[0]["model"].ToString();
edit_color.Text = dt.Rows[0]["color"].ToString();
edit_pelak.Text = dt.Rows[0]["plaque"].ToString();
edit_year.Text = dt.Rows[0]["year_built"].ToString();
edit_km.Text = dt.Rows[0]["km"].ToString();
}
Response.Write("<script>"
+ "$(document).ready(function () {"
+ "$('.edit_kar_bg').show();"
+ "}</script>"
);
}
به نظرتون من الان باید چیکار کنم( چه خاکی تو سرم کنم از دست این ASP ) ، یعنی هم PostBack دکمه گرید درست کار کنه و هم بعد لود دوباره کدی که لازم دارم اجرا بشه ؟
شدید تو شدید منتظر پاسختون هستم :)