【发布时间】:2014-01-01 06:32:17
【问题描述】:
在使用脚本管理器时保留客户端使用RequiredFieldValidator
我在 asp.net 表单中有以下内容(vs2013、net4.5、vb.net)
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server" ControlToValidate="TextBox1" ErrorMessage="Required text box">
</asp:RequiredFieldValidator>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
上面运行得很好,在文本框中输入值之前不会回发)。这很好,也很有意义(大量应用程序使用上述方法)。
但是,如果我将脚本管理器控件或 Ajax ToolKit 脚本管理器添加到表单中,则所有客户端验证RequiredFieldVALidators 都停止使用客户端验证。对于简单地将脚本管理器引入 Web 表单来说,这是相当大的成本。
所以将这个添加到上面的网络表单是坏人:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
最终结果是现在所有 EXISTING RequiredValidators 永远不会运行客户端 - 仅服务器端。
是否有解决上述问题的方法,即将脚本管理器(或 ajax 工具包中的 Ajax 工具包管理器)添加到表单并继续在 Web 表单中享受客户端验证?
【问题讨论】: