Onclick 事件触发多次

Onclick Event fires multiple times

我有一个网格视图。在这个 gridview 中,我在 templateField 中有一个 detailsView。

在详细信息视图中,详细信息视图的模板字段中有一个 asp 按钮。

我在按钮和文本框的验证组中同时拥有 customValidator 和 requiredFieldValidator。

现在,我真的对onClick 事件感到困惑,很奇怪。当我单击按钮时,ButtonClicked 事件的触发次数与 gridview 中存在的项目数一样多。所以 customvalidator 倾向于检查所有的按钮,最终 returns false。

好的,几天后,我找到了解决方法。

我已经通过 DetailsView_OnDataBound() 上的代码隐藏发送了需要的参数。重点是从代码隐藏设置 ValidationGroups。 (所以它在布局中应该是空的!)

一般来说,像这样:

if(currentRequestID== GridView1.SelectedValue){
(Button) Button1 = DetailsView1.FindControl("Button1");

Button1.ValidationGroup = "ValGroup";

CustomFieldValidator cfv = DetailsView1.FindControl("Button1");
cfv.ValidationGroup = "ValGroup";
//...Other validators and/or buttons
}