我有一个gridview。在这个gridview中,我在templateField中有一个detailsView。
在detailsView中,detailsview的templateField中有一个asp按钮。
我在按钮和文本框的validationGroup中有一个customValidator和requiredFieldValidator。
现在,我真的对onClick事件感到困惑,非常奇怪。单击按钮时,ButtonClicked事件的触发次数与gridview中显示的项目数相同。因此,customvalidator倾向于检查所有按钮,并最终返回false。
答案 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
}