如何预防ASP.. NET RequiredFieldValidator做回发

本文关键字:RequiredFieldValidator NET 何预防 ASP | 更新日期: 2023-09-27 18:06:25

我怎么也想不出如何防止我的表单回发。我在ASP。. NET 4.5和c# (web应用项目,不是网站)。我已经在几个版本的ASP中有效地做到了这一点。. NET,但我不知道如何防止一个简单的必需字段验证的回发。表单刷新后验证就开始工作了。下面是我的代码:

<label for="MainContent_txtName" class="required">Name</label>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqName" runat="server" ErrorMessage="Required field" ControlToValidate="txtName" EnableClientScript="true" ValidationGroup="contact" />
<label for="MainContent_txtEmail" class="required">Email Address</label>
<asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
<label for="MainContent_txtPhone">Phone Number</label>
<asp:TextBox ID="txtPhone" runat="server"></asp:TextBox>
<label for="MainContent_txtComment" class="required">Question or Comment</label>
<asp:TextBox ID="txtComment" TextMode="multiline" runat="server" />
<asp:Button ID="btnSubmit" runat="server" Text="submit" OnClick="btnSubmit_Click" CausesValidation="true" ValidationGroup="contact"  />

我试过没有ValidationGroup, CausesValidation和EnableClientScript(每个都有几个变体)。此外,在母版页中还有一个表单将其封装。我只是想在提交表单之前简单地验证客户端上的字段不是空的。任何帮助都是感激的。我想我显然错过了一些简单的东西。

如何预防ASP.. NET RequiredFieldValidator做回发

设置EnableClientScript属性为True

<asp:requiredfieldvalidator id="TextBoxRequiredValidator" controltovalidate="NumberTextBox" enableclientscript="True" display="Dynamic" errormessage="Please enter a value." text="*" runat="server"/>

我只是决定不尝试在客户端完成任何事情,而在服务器端使用Page进行验证。IsValid和。IsValid。此外,我使用ScriptManager/UpdatePanel来避免页面刷新。当验证失败时,更干净的UI和更多的控制。

相关文章:
  • 没有找到相关文章