当页面验证失败时,如何禁用我的 ASP.NET AJAX ConfirmButtonExtender?
Posted
技术标签:
【中文标题】当页面验证失败时,如何禁用我的 ASP.NET AJAX ConfirmButtonExtender?【英文标题】:How do I disable my ASP.NET AJAX ConfirmButtonExtender when page validation fails? 【发布时间】:2010-10-03 19:19:43 【问题描述】:我有一个使用 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'。
Validation (ASP.Net): Attribute 'ConfirmOnFormSubmit' is not a valid attribute of element 'ConfirmButtonExtender'. http://img382.imageshack.us/img382/1391/confirmonformsubmitow3.gif
【问题讨论】:
编辑:根据该网站,它是有效的。尝试更新到最新版本,或者忽略智能感知,看看发布时会发生什么。 扎克,你是怎么解决这个问题的? 【参考方案1】:确保 ConfirmOnFormSubmit 在 ConfirmButtonExtender 上设置为 TRUE。
来自example site:
ConfirmOnFormSubmit - 如果确认对话框应该等到表单提交显示之前,则为真。这在使用 ASP.NET 验证器时很有用,并且只有在所有验证器都通过后才会显示确认。
编辑:根据该网站,它是有效的。试试updating to the latest version 或者忽略智能感知,看看你发布它时会发生什么。
【讨论】:
谢谢。这似乎是正确的答案,但它不起作用。我已经更新了问题。以上是关于当页面验证失败时,如何禁用我的 ASP.NET AJAX ConfirmButtonExtender?的主要内容,如果未能解决你的问题,请参考以下文章
在ASP.NET中是否有一个事件在Windows身份验证日志中失败? (记录Windows身份验证失败的详细信息)