2011-01-23 60 views
1

在下面的代碼...問題有兩個的UpdatePanel和校驗

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
     <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged"></asp:TextBox> 
     <cc1:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" 
      Display="Dynamic" ErrorMessage="This field is required"> 
      *</cc1:RequiredFieldValidator> 
     <br /> 
     <br /> 
     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 
     <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
</asp:UpdatePanel> 

<asp:UpdatePanel runat="server" ID="UpdatePanel2" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" /> 
     <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
</asp:UpdatePanel> 

爲什麼的UpdatePanel2內容是由存在於UpdatePanel1RequiredFieldValidator影響!

它們被拆分,UpdateMode設置爲Conditional !!!

任何幫助!

回答

2

使用ValidationGroup屬性像下面,

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
     <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" ValidationGroup="UpdatePanel1"></asp:TextBox> 
     <cc1:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" controltovalidate="TextBox1" 
      display="Dynamic" errormessage="This field is required" ValidationGroup="UpdatePanel1">    *</cc1:requiredfieldvalidator> 
     <br /> 
     <br /> 
     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" ValidationGroup="UpdatePanel1" /> 
     <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<asp:UpdatePanel runat="server" ID="UpdatePanel2" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" /> 
     <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
</asp:UpdatePanel>