-1

これが私のボタンです。

<asp:Button ID="btnNext" runat="server" Text="Next" Style="display: none" OnClick="btnNext_Click" CausesValidation="true" ValidationGroup="vgLinR"/>

ValidationGroup="vgLinR" を aspx 側に記述すると、検証が機能します。しかし、2 つの異なる検証グループがあります。したがって、これら 2 つの検証グループを 1 つのボタンで起動する必要があります。

だから私はコードビハインドでそのコードを書きます:

protected void btnNext_Click(object sender, EventArgs e)
{
       Page.Validate("vgLinR");
       Page.Validate("vgLogR");
}

しかし、うまくいきません。なんで?どうやってやるの?

4

3 に答える 3

-1

アミットへの返信が少し遅すぎるのを見ました。それに応じて回答を更新しました。要件に合わない場合は、同様のアイデアを使用できる場合があります。

私のコードでは、検証グループを指定せずに単一の ValidationSummary コントロールを使用しています。また、ボタンから検証グループを削除します。テキストボックス a と b は 1 つの検証グループ vg1 に含めることができ、テキストボックス c と d は別の検証グループ vg2 に含めることができます。検証グループをどのように設定したかわかりません。

protected void btnNext_Click(object sender, EventArgs e)
{
    if (RadioButton1.Checked)
    {
        Page.Validate("vg1");
        ValidationSummary1.ValidationGroup = "vg1";

    }
    else if (RadioButton2.Checked)
    {
        Page.Validate("vg2");
        ValidationSummary1.ValidationGroup = "vg2";
    }


    if (Page.IsValid)
    {
        //do something in here
    }
}

上記のコードは、サーバー側の検証を行います。クライアント側でもこれを行うには、JavaScript を少し追加する必要があります。

別の投稿を見て、JQuery または Javascript から検証グループを有効/無効にします

于 2014-03-02T16:46:07.143 に答える