如何在转发器控制中使用按钮?

我正在使用带有c#的asp.net 3.5。我想在转发器控件中调用按钮单击事件。

     

但是当我点击一个按钮时会发出错误

“无效的回发或回调参数。使用配置或页面中的启用事件validation。出于安全考虑,此functionvalidation回发或回调事件的参数是否来自服务器控件最初呈现它们。如果数据有效且预期,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行validation。“

我的目的是在按钮点击中执行一些代码,这些代码放在转发器内。请帮我解决这个问题。谢谢提前。

UseSubmitBehavior =“False”您使用的此属性与图像按钮不存在,您已经覆盖了图像按钮类并添加了此属性。

   key1: 
key2:
key3:

protected void Repeater1_OnItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "Update") { string col1 = ((TextBox)e.Item.FindControl("col1")).Text; string col2 = ((TextBox)e.Item.FindControl("col2")).Text; string allKeys = Convert.ToString(e.CommandArgument); string[] arrKeys = new string[2]; char[] splitter = { '|' }; arrKeys = allKeys.Split(splitter); SqlDataSource1.UpdateParameters["col1"].DefaultValue = col1; SqlDataSource1.UpdateParameters["col2"].DefaultValue = col2; SqlDataSource1.UpdateParameters["key1"].DefaultValue = arrKeys[0]; SqlDataSource1.UpdateParameters["key2"].DefaultValue = arrKeys[1]; SqlDataSource1.UpdateParameters["key3"].DefaultValue = arrKeys[2]; SqlDataSource1.Update(); Repeater1.DataBind(); } }

当您在OnLoad事件而不是OnInit中分配了数据源和数据绑定转发器时,也会发生这种情况

你不能使用按钮,因为按钮在点击时创建回发,并且还调用了转发器的itemcommand!

但是,如果要使用asp:button而不是asp:linkbutton,则必须将button的UseSubmitBehavior属性设置为false。 它的手段,按钮不做回发。

  

我已经使用了这个波纹管代码并运行正确使用.aspx页面中的这个波纹管代码

   
Edit
Edit

在.cs中使用此命令使事件Repeater1_ItemCommand

 protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { switch (e.CommandName) { case "Edit": // Do some stuff when the Edit button is clicked. break; // Other commands here. default: break; } } 

设置页面EnableEventValidation =“false”。

如果您要添加项目服务器端,请尝试为每个ImageButton分配唯一ID