0

私はこのような Validate メソッドを持っています

protected void ValidateHello(Object sender, ServerValidateEventArgs args)
{
     //Validate Stuff
}

私の ASP には、ドロップダウン リストを検証するための次の行があります。

<asp:CustomValidator ID="cvNames" runat="server" ControlToValidate="ddlNames" OnServerValidate="ValidateHello" Display="Dynamic" ErrorMessage="Please select a Name">*</asp:CustomValidator>

ただし、2 つの異なるイメージボタンがあります。このドロップダウン ボックスには、他とは異なる検証が必要です。これを行うことについて私が考えることができる唯一の方法は、if() ステートメントを用意し、どのイメージボタンが押されて検証が行われたかを確認することです。

これが私のImageButtonコードです。

<asp:ImageButton runat="server" ID="imgSearchNames" CssClass="SearchButton" ImageUrl="~/Images/searchbutton.jpg" OnClick="imgSearchNames_OnClick" ></asp:ImageButton>

そして、これが私の OnClick イベント メソッドです。

    protected void imgSearchNames_OnClick(Object sender, EventArgs e)
    {
        Page.Validate();

        if (Page.IsValid)
        {
            //Do Stuff
        }
    }   

多くの助けが必要です。事前に感謝します。

4

1 に答える 1

1

なぜあなたは使わないのですかvalidationGroup

ValidationGroupプロパティは、入力を特定imagebutton_clickのイベントに対してのみ検証するようにします(たとえば)、

<asp:ImageButton ID="imgBtn" ValidationGroup="xxxx" CausesValidation="true" />

<asp:CustomValidator ID="cvNames" runat="server"  ValidationGroup="xxxx" OnServerValidate="ValidateHello"  Display="Dynamic" ErrorMessage="Please select a Name">*</asp:CustomValidator>

で同じものを使用ValidationGroupしますImagebuttonValidateEmptyText=trueまた、空のコントロールに対しても検証を開始するように使用することを検討する必要があります。

于 2013-08-29T09:58:11.363 に答える