Onclick事件多次触发

时间:2015-07-09 10:36:33

标签: asp.net gridview detailsview

我有一个gridview。在这个gridview中,我在templateField中有一个detailsView。

在detailsView中,detailsview的templateField中有一个asp按钮。

我在按钮和文本框的validationGroup中有一个customValidator和requiredFieldValidator。

现在,我真的对onClick事件感到困惑,非常奇怪。单击按钮时,ButtonClicked事件的触发次数与gridview中显示的项目数相同。因此,customvalidator倾向于检查所有按钮,并最终返回false。

Image

1 个答案:

答案 0 :(得分:0)

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

我已经在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
}