2011-05-20 111 views
2

我在页面上有两个搜索按钮,一个链接到下拉列表,另一个链接到带有文本框的下拉列表以获取更多搜索条件。我已经要求对上述所有控件进行字段验证。当我从第一个下拉列表中选择一些内容并单击适当的搜索按钮时,文本框的字段验证程序会触发,禁用第一个搜索按钮。有没有办法将验证器本地化/隔离,只与两个按钮中的一个相关联?下面的代码:隔离必填字段验证程序?

 <asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center"> 
<asp:Label ID="Label1" runat="server" Text="Search by status:"></asp:Label> 
     &nbsp; 
     <asp:DropDownList ID="DdlStatus" runat="server" 
      DataSourceID="SqlDataSource2" DataTextField="Status" DataValueField="Status" AppendDataBoundItems="true"> 
      <asp:ListItem Text="Choose a status" Value="0" Selected="True"></asp:ListItem> 
     </asp:DropDownList> 
     &nbsp; 
     <asp:Button ID="BtnStatusSearch" runat="server" Text="Search" onclick="BtnStatusSearch_Click" /> 
     <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
      ConnectionString="<%$ ConnectionStrings:MyConnectionString %>" 
      SelectCommand="SELECT [Status] FROM [Status]"></asp:SqlDataSource> 
     <asp:Label ID="LblSearch" runat="server" Text="Other search:"></asp:Label> 
     &nbsp; 
     <asp:DropDownList ID="DdlSearch" runat="server"> 
      <asp:ListItem Selected="True" Value="0">Choose search criteria</asp:ListItem> 
      <asp:ListItem Value="1">Broker</asp:ListItem> 
      <asp:ListItem Value="2">Customer</asp:ListItem> 
      <asp:ListItem Value="3">Customer State</asp:ListItem> 
      <asp:ListItem Value="4">Broker State</asp:ListItem> 
     </asp:DropDownList><asp:RequiredFieldValidator ID="RfvDdlSearch" runat="server" Display="Dynamic" 
      ErrorMessage="Required field" ControlToValidate="DdlSearch" CssClass="ErrorMessage"></asp:RequiredFieldValidator> 
     &nbsp;&nbsp; 
     <asp:TextBox ID="TbSearch" runat="server"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="rfvTbSearch" runat="server" Display="Dynamic" 
      ErrorMessage="Required field" ControlToValidate="TbSearch" CssClass="ErrorMessage"></asp:RequiredFieldValidator> 
&nbsp;&nbsp; 
     <asp:Button ID="BtnSearch" runat="server" onclick="BtnSearch_Click" Text="Search" /> 

回答

4

是的,你可以使用ValidationGroup属性和验证组设置为您的按钮控制:ValidationGroup="button1"

<asp:RequiredFieldValidator ID="rfv" runat="server" ValidationGroup="button1" 
     ErrorMessage="*"></asp:RequiredFieldValidator> 
    <asp:Button ID="btnLogin" runat="server" Text="Login" ValidationGroup="button1" OnClick="btnLogin_Click" /> 
+0

你真棒。 – 2011-05-20 09:54:50

+0

非常感谢...它帮助了我太多 – Dini88 2013-09-11 07:10:45