【发布时间】:2014-03-05 01:17:33
【问题描述】:
我目前在 C# 代码中调用的名为 CustomValidation 的类中有一些逻辑:
protected void EmailValidator(object source, ServerValidateEventArgs args)
{
string strInput = args.Value.Trim();
CustomValidation v = new CustomValidation();
args.IsValid = v.ValidateEmail(strInput);
}
我宁愿从我的 ASPX 页面调用这些方法来简化事情,像这样:
<asp:CustomValidator OnClick="ValidateEmail" />
但是,由于 ValidateEmail 与页面不在同一类中:
'ASP.editusers_aspx' does not contain a definition for 'ValidateEmail' and no extension method 'ValidateEmail' accepting a first argument of type 'ASP.editusers_aspx' could be found (are you missing a using directive or an assembly reference?)
有没有办法从我的 ASPX 代码中的 CustomValidation 类调用方法?我尝试了以下方法无济于事:
<%@ Import Namespace="ThisProject.CustomValidation" %>
OnClick="<%= CustomValidation.ValidateEmail()" %>
这是我在上下文中的用法:
<asp:TextBox ID="txtEmail" runat="server" Text='<%# Bind("UserEmail") %>' MaxLength="30" />
<asp:CustomValidator ID="vldEmail" runat="server" ControlToValidate="txtEmail" ValidateEmptyText="true" OnServerValidate='<%# RetailCrime.CustomValidation.ValidateEmail((string)(txtEmail.Text)) %>' ErrorMessage='<br /><label class="invisible noplaceholder"> </label>Please enter a valid email.' Display="Dynamic" CssClass="validatormessage" />
【问题讨论】: