3

いくつかのパネルを備えた、c#asp.netを使用したAjaxアコーディオンがあります。最初のパネルには2つの必須フィールドがあり、ユーザーがボタンをクリックしたときの検証があります。別のペインでさらに表示したいのですが、必須フィールドにすると、検証を行うボタンをクリックすると、最初のパネルのメッセージも表示されます。

各パネルのバリデーターを分離する方法はありますか?私は完全に明白な何かを逃していますか?

役立つコードがあれば、要求されたコードを編集して含めます。あなたが提供することができるどんなアドバイスにも感謝します。

4

1 に答える 1

1

これにはおそらくValidationGroupsを使用する必要があります。

基本的に、グループ化する各検証コントロールに「ValidationGroup」プロパティを同じ値(CSSクラスのようなもの)として設定できます。次に、そのグループを同じ文字列として関連付けるボタンの「ValidationGroup」プロパティを設定します。

具体的には、コンテナ内のすべての検証コントロールを同じグループに設定しますPanel1(したがって、それらのマークアップに追加ValidationGroup="panelOneGroup"します)。次に、そのパネルのみを検証するボタンに同じ属性を追加します。

このようなもの:

<ajaxToolkit:Accordion ID="myAccordion" >
    <Panes>
        <ajaxToolkit:AccordionPane >
            <Content>
                <asp:RequiredFieldValidator id="validator1" 
                    ValidationGroup="panelOneGroup" >
                </asp:RequiredFieldValidator>

                <asp:RequiredFieldValidator id="validator2" 
                    ValidationGroup="panelOneGroup" >
                </asp:RequiredFieldValidator>

                <asp:Button ID="button1"
                    ValidationGroup="panelOneGroup" />
            </Content>
        </ajaxToolkit:AccordionPane >
        <ajaxToolkit:AccordionPane >
            <Content>
                <asp:RequiredFieldValidator id="validator3" 
                    ValidationGroup="panelTwoGroup" >
                </asp:RequiredFieldValidator>

                <asp:RequiredFieldValidator id="validator4" 
                    ValidationGroup="panelTwoGroup" >
                </asp:RequiredFieldValidator>

                <asp:Button ID="button2"
                    ValidationGroup="panelTwoGroup" />
            </Content>
        </ajaxToolkit:AccordionPane >
    </Panes>
</ajaxToolkit:Accordion >

MSDNの詳細な例は、ここにあります:検証グループの指定

于 2012-07-02T13:58:00.787 に答える