如何使用Asp.net在按钮单击时使用服务器端验证

时间:2015-03-03 20:46:24

标签: c# asp.net validation

我的页面上有2个按钮,我只想在btnSubmit点击上验证。但是我不想验证用户是否点击了btnSave按钮。我有几个需要验证的文本框..

 <asp:TextBox ID="txt1" runat="server" CssClass="form-control"></asp:TextBox>
  <asp:RequiredFieldValidator ErrorMessage="** Required **" ForeColor="Red" ControlToValidate="txt1" runat="server" Display="Dynamic" />

这是按钮保存

<asp:LinkButton ID="linkSave" runat="server" CssClass="btn btn-primary btn-block" OnClick="btn_Save_Click"> 
<i aria-hidden="true" class="glyphicon glyphicon-ok"></i>Save

这是按钮提交

 <asp:LinkButton ID="linkSubmit" runat="server" CssClass="btn btn-primary btn-block" OnClick="btn_Submit_Click"> 
    <i aria-hidden="true" class="glyphicon glyphicon-ok"></i>Submit

3 个答案:

答案 0 :(得分:4)

在您不想触发验证的所有按钮上设置CauseValidation = "False",包括LinkBut​​tons

<asp:LinkButton ID="linkSave" runat="server" CauseValidation="False" />

如果你想要每个按钮有不同的验证,那么使用按钮上的ValidationGroup="GroupName"属性和参与该验证的所有控件(与该按钮相关联)

答案 1 :(得分:0)

Use validation groups.

这允许你使一个按钮强制执行验证(btnSubmit),但另一个按钮不执行(btnSave)。

答案 2 :(得分:0)

您可以使用群组验证

<asp:TextBox ID="txt1" runat="server" CssClass="form-control"></asp:TextBox>
  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" validationgroup="validTxT1Group" ErrorMessage="** Required **" ForeColor="Red" ControlToValidate="txt1" runat="server" Display="Dynamic" />

<asp:LinkButton ID="linkSave" runat="server" CssClass="btn btn-primary btn-block" CausesValidation="false" OnClick="btn_Save_Click"> 
<i aria-hidden="true" class="glyphicon glyphicon-ok"></i>Save

<asp:LinkButton ID="linkSubmit" runat="server" CssClass="btn btn-primary btn-block" CausesValidation="true" ValidationGroup="validTxT1Group" OnClick="btn_Submit_Click"> 
    <i aria-hidden="true" class="glyphicon glyphicon-ok"></i>Submit