C# 从codebehind将OnClick添加到按钮
我正试图从代码背后向按钮添加OnClick属性。根据参与元素是否为0,将确定添加哪个OnClick属性。当我单击带有以下代码的按钮时,会出现以下错误: “Microsoft JScript运行时错误: Sys.WebForms.PageRequestManagerServerErrorException:回发无效 或回调参数。在配置或页面中使用启用事件验证。出于安全目的, 此功能验证回发或回调事件的参数是否正确 源于最初呈现它们的服务器控件。如果 数据有效且符合要求,请使用 ClientScriptManager.RegisterForEventValidation方法,以便 注册回发或回调数据以进行验证。“ 我做错了什么 ASPXC# 从codebehind将OnClick添加到按钮,c#,asp.net,button,onclick,C#,Asp.net,Button,Onclick,我正试图从代码背后向按钮添加OnClick属性。根据参与元素是否为0,将确定添加哪个OnClick属性。当我单击带有以下代码的按钮时,会出现以下错误: “Microsoft JScript运行时错误: Sys.WebForms.PageRequestManagerServerErrorException:回发无效 或回调参数。在配置或页面中使用启用事件验证。出于安全目的, 此功能验证回发或回调事件的参数是否正确 源于最初呈现它们的服务器控件。如果 数据有效且符合要求,请使用 ClientScri
如果要动态附加按钮的事件,则需要使用按钮的CommandName,并在ItemCommand事件中捕获事件 主要优点是可以捕获单击的行
protected void Dl1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
....
Button SignupButton = (Button)e.Item.FindControl("SignupButton");
if (Attending == 0)
{
SignupButton.Text = "Attend";
SignupButton.Attributes.Add("class", "btn btn-large btn-success");
SignupButton.CommandName = "Attend";
}
else
{
SignupButton.Text = "Remove";
SignupButton.Attributes.Add("class", "btn btn-large btn-danger");
SignupButton.CommandName = "Remove";
}
}
}
protected void Dl1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Attend")
{
Response.Redirect("Default.aspx?msg=work");
}
else if (e.CommandName == "Remove")
{
Response.Redirect("Default.aspx?msg=gone");
}
}
用这个
AddHandler btn.Click, AddressOf [FunktionName]
使用以下代码
Button1.Attributes.Add("OnClick","btn_Click");
或
这是点击按钮的方法
protected void btn_Click(object sender, EventArgs e)
{
do anything...
}
Win,当我单击页面上的任何按钮时,即使您进行了修改,我仍然会收到相同的Microsoft JScript运行时错误。嗯,我不能复制它。这可能与其他代码有关。你能创建一个独立的aspx(没有母版页),复制上面的代码,并调试它吗?
Button1.Attributes.Add("OnClick","btn_Click");
Button1.Click += new EventHandler(btn_Click);
protected void btn_Click(object sender, EventArgs e)
{
do anything...
}