PDA

View Full Version : سوال: دسترسی به رویداد کلیک یک دکمه در زمان اجرا



adineh67
چهارشنبه 09 آذر 1390, 13:02 عصر
سلام دوستان برنامه نویس من یه ستون گریدویومو باتن قراردادم واسه دسترسی به رویداد کلیکش از کد زیر استفاده می کنم:


protected void GridViewfrnd_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < GridViewfrnd.Rows.Count; i++)//loop the GridView Rows
{
System.Web.UI.WebControls.Button ib = (System.Web.UI.WebControls.Button)GridViewfrnd.Row s[i].Cells[0].FindControl("delib"); //find the button
if (ib != null)
ib.Click += new EventHandler(onclick);
}
}

private void onclick(object sender, EventArgs e)
{
Response.Redirect("Home.aspx?");
}
موقع اجرا با کلیک رو دکمه به این خطا می خورم:
"Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation. "
خصوصیت enableEventValidation مساوی فالس قرار می دم بعد که رو دکمه کلیک میکنم فقط صفحه لود می شه کد توی onclick اجرا نمیشه لطفا کمکم کنید :افسرده::افسرده:

fakhravari
چهارشنبه 09 آذر 1390, 13:49 عصر
pages enableEventValidation="true" چک کنید.
ValidateRequest="true".
از Ajax استفاده کردین یه ScriptManager1 روی فرم بزارید

mohammadyaser
چهارشنبه 09 آذر 1390, 13:51 عصر
سلام ببین این به کارت میاد
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "remove")
{
string AGP0904 = (e.CommandArgument).ToString();
try {
string help;
help = "'" + AGP0904.ToString() + "'";
help = obj_AllFunction.getnumber(help.ToString(), "GROUPS", "AGP0901", "AGP0904").ToString();
SqlDataSource1.DeleteParameters["AGP0904"].DefaultValue = AGP0904;
SqlDataSource1.Delete();
obj_AllFunction.sethistory(3, "گروه های پرسنلی", "", help);
}
catch (Exception ex)
{
if (ex.Message.IndexOf("COLUMN REFERENCE constraint") > 0)
haveoper = "ex";
else
haveoper = "false";
}
if (haveoper == "")
haveoper = "true";
else if (haveoper == "ex")
obj_AllFunction.DisplayMessage("گروه پرسنلی مورد نظر دارای عملکرد می باشد.", GridView1, "0");
}

adineh67
چهارشنبه 09 آذر 1390, 14:24 عصر
نه جناب فخراوری مشکلم حل نشد:ناراحت:


سلام ببین این به کارت میاد
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "remove")
{
string AGP0904 = (e.CommandArgument).ToString();
try {
string help;
help = "'" + AGP0904.ToString() + "'";
help = obj_AllFunction.getnumber(help.ToString(), "GROUPS", "AGP0901", "AGP0904").ToString();
SqlDataSource1.DeleteParameters["AGP0904"].DefaultValue = AGP0904;
SqlDataSource1.Delete();
obj_AllFunction.sethistory(3, "گروه های پرسنلی", "", help);
}
catch (Exception ex)
{
if (ex.Message.IndexOf("COLUMN REFERENCE constraint") > 0)
haveoper = "ex";
else
haveoper = "false";
}
if (haveoper == "")
haveoper = "true";
else if (haveoper == "ex")
obj_AllFunction.DisplayMessage("گروه پرسنلی مورد نظر دارای عملکرد می باشد.", GridView1, "0");
}
نه دوست عزیز دقیقا مشکل قبل برام تکرار شد