我有一个看起来像这样的验证方法
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
}
}
需要很多帮助,并提前感谢。
答案 0 :(得分: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
,这样即使是空控件也会激活验证。