当页面验证失败时,如何禁用ASP.NET AJAX ConfirmButtonExtender?

时间:2009-01-27 16:41:51

标签: asp.net javascript asp.net-ajax validationsummary confirmbutton

我有一个提交按钮,使用微软的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'。

Validation (ASP.Net): Attribute 'ConfirmOnFormSubmit' is not a valid attribute of element 'ConfirmButtonExtender'. http://img382.imageshack.us/img382/1391/confirmonformsubmitow3.gif

1 个答案:

答案 0 :(得分:3)

确保ConfirmButtonExtender上的ConfirmOnFormSubmit设置为TRUE。

来自example site

ConfirmOnFormSubmit - 如果确认对话框应该等到表单提交显示之前,则为True。这在使用ASP.NET验证器时很有用,并且只有在所有验证器通过后才会显示确认。

编辑:根据该网站,它是有效的。尝试updating to the latest version或忽略智能感知,看看发布时会发生什么。