2014-10-30 63 views
0

我們使用Ajax手風琴窗格。我們從數據集動態綁定ajax手風琴。所以我們不確定有多少窗格可以綁定。Ajax手風琴窗格中的必需字段驗證程序不起作用

現在我們在每個手風琴窗格中添加了幾個文本框和1個按鈕,這是一個mandotory,所以我們使用了必需的字段驗證程序。

問題是,當我點擊第一窗格中的第一個窗格文本框中的按鈕顯示「這是必需的」,這很好,但即使我在第一個窗格中鍵入文本框。我無法保存自顯示「必需」的剩餘窗格中的文本框。請指導我。

<cc1:Accordion ID="accRcvDetails" runat="server" SelectedIndex="-1" ContentCssClass="accordion-content" RequireOpenedPane="false" HeaderCssClass="accordion-header" 
            HeaderSelectedCssClass="accordionSelected" OnItemCommand="accRcvDetails_ItemCommand" OnItemDataBound="accRcvDetails_ItemDataBound"> 

            <HeaderTemplate> 
    </HeaderTemplate> 
            <ContentTemplate> 
    <td class="searchlabel"> 
                 <asp:Label ID="lblNotes" runat="server" Text="Notes:"></asp:Label> 
                </td> 
                <td class="searchtext" colspan="3"> 
                 <asp:TextBox runat="server" ID="txtNotes" Width="100%" TextMode="MultiLine" Height="35px" /> 
                 <asp:RequiredFieldValidator ControlToValidate="txtNotes" Text="Note Field is Required" runat="server" /> 
                </td> 
                <td> 
    <td style="text-align: right" colspan="8"> 
                 <asp:Button ID="btnSave" CssClass="searchbutton Accbtnsave" runat="server" CommandName="Save" Text="Save" /> 
                </td> 
</ContentTemplate> 


           </cc1:Accordion> 

回答

1

您需要提供的ValidationGroup每一個文本框和按鈕,你要綁定在運行時的手風琴,因此需要在運行時使用具有每一個手風琴獨特/不同的值,某些屬性綁定的ValidationGroup。假設你正在綁定手風琴和組的行,那麼你可以在ValidationGroup中提到groupId。更新後的代碼必須看起來相似:

<asp:RequiredFieldValidator ControlToValidate="txtNotes" Text="Note Field is Required" runat="server" ValidationGroup='<%# Eval("GroupId") %>'/> 

<asp:Button ID="btnSave" CssClass="searchbutton Accbtnsave" runat="server" CommandName="Save" Text="Save" ValidationGroup='<%# Eval("GroupId") %>'/> 

這樣每個手風琴都有自己的ValidationGroup,點擊按鈕將不會觸發其他手風琴

的驗證