0

我有一个看起来像这样的验证方法

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在你的Imagebutton. 您还应该考虑使用ValidateEmptyText=true它,以便即使对于空控件,它也会触发验证。

于 2013-08-29T09:58:11.363 回答