我有一个提交按钮,使用微软的ConfirmButton扩展程序询问“你确定吗?”。但无论页面是否通过客户端验证,它都会触发。
<asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidatorTextBox1"
runat="server"
ControlToValidate="TextBox1"
ErrorMessage="First name is required"
Display="Dynamic" />
...
<asp:Button ID="Button1"
runat="server"
Text="Submit"
CausesValidation="True" />
<ajaxToolkit:ConfirmButtonExtender ID="ConfirmButtonExtenderButton1"
runat="server"
TargetControlID="Button1"
ConfirmText="Are you sure?" />
...
<asp:ValidationSummary id="ValidationSummary1"
runat="server"
ShowMessageBox="True" />
因此,如果用户将必填字段留空并单击“提交”按钮。她会看到两个消息框:
一个用于验证......
ValidationSummary ShowMessageBox http://img120.imageshack.us/img120/8305/validationzn6.gif
然后一个确认...
ConfirmButtonExtender http://img228.imageshack.us/img228/678/confirmationam3.gif
(注意:确定和取消都只是取消。)
如果验证失败,则显示确认没有意义。它应该是一个或另一个。我怎么能这样做?
更新
如果我尝试使用ConfirmOnFormSubmit,那么我会收到此警告:
验证(ASP.Net):属性 'ConfirmOnFormSubmit'无效 元素的属性 'ConfirmButtonExtender'。
答案 0 :(得分:3)
确保ConfirmButtonExtender上的ConfirmOnFormSubmit设置为TRUE。
来自example site:
ConfirmOnFormSubmit - 如果确认对话框应该等到表单提交显示之前,则为True。这在使用ASP.NET验证器时很有用,并且只有在所有验证器通过后才会显示确认。
编辑:根据该网站,它是有效的。尝试updating to the latest version或忽略智能感知,看看发布时会发生什么。