2010-02-04 2 views
0

У меня есть сайт ASP.NET 3.5 sp1, и на одной странице у меня есть две UpdatePanels. Первый имеет CustomValidator, а второй - нет. Я хочу, чтобы проверка выполнялась ТОЛЬКО при нажатии кнопки. Currenlty, когда редактируется Gridview во второй панели обновлений, это также вызывает проверку. Я много читал о том, как были проверены элементы управления проверкой в ​​версии 2.0, но я уверен, что здесь нет моей проблемы (или нет?)ASP.NET 3.5 UpdatePanel с контролем проверки. Проверка выполняется неожиданно

Вот соответствующий раздел страницы. ..

<asp:UpdatePanel ID="userInput" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> 
    <Triggers> 
     <asp:PostBackTrigger ControlID="btnSubmit" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:TextBox ID="txtMCCredits" runat="server" Width="28px"></asp:TextBox> 
     <asp:CustomValidator ID="UserValidator" runat="server" ErrorMessage="*" OnServerValidate="UserValidator_ServerValidate" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" /> 
<asp:UpdatePanel ID="upData" runat="server" UpdateMode="Conditional"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="gvMainproCredits" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:GridView ID="gvMainproCredits" runat="server" AllowPaging="True" AllowSorting="True" 
      AutoGenerateColumns="False" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="#333333" 
      GridLines="None" DataKeyNames="RecordID"> 
      <RowStyle BackColor="#F7F6F3" ForeColor="#333333" /> 
      <Columns> 
       <!--SNIP--> 
       <asp:BoundField DataField="RecordID" HeaderText="RecordID" InsertVisible="False" 
        ReadOnly="True" SortExpression="RecordID" Visible="false" /> 
       <asp:BoundField DataField="DateAdded" HeaderText="DateAdded" SortExpression="DateAdded" /> 
       <asp:CommandField ShowHeader="true" HeaderText="Edit" ShowEditButton="true" /> 
      </Columns> 
      <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" /> 
      <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" /> 
      <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" /> 
      <EditRowStyle BackColor="#999999" /> 
      <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
     </asp:GridView> 
    </ContentTemplate> 
</asp:UpdatePanel> 

ответ

4

Возможно, вы захотите разделить валидации, используя ValidationGroup.

Таким образом, вы можете выбрать кнопку проверяющий только определенные элементы управления в пределах одной и той же группы.

+0

Работали как очарование. Благодаря! –

1

только часть решения, но here найти ссылку как вручную вызвать проверку на стороне клиента в JavaScript.

тем проще: Page_ClientValidate ('Group1');

Смежные вопросы