3

我有一个使用 Microsoft 的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

(注意:OK 和 Cancel 都只是取消。)

如果验证失败,显示确认是没有意义的。它应该是其中之一。我怎样才能做到这一点?


更新:

如果我尝试使用 ConfirmOnFormSubmit,则会收到以下警告:

验证 (ASP.Net):属性“ConfirmOnFormSubmit”不是元素“ConfirmButtonExtender”的有效属性。

验证 (ASP.Net):属性“ConfirmOnFormSubmit”不是元素“ConfirmButtonExtender”的有效属性。http://img382.imageshack.us/img382/1391/confirmonformsubmitow3.gif

4

1 回答 1

3

确保 ConfirmOnFormSubmit 在 ConfirmButtonExtender 上设置为 TRUE。

示例网站

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

编辑:根据该网站,它是有效的。尝试更新到最新版本,或者忽略智能感知,看看你发布它时会发生什么。

于 2009-01-27T19:13:31.023 回答