我的页面是一个注册页面,用户在其中输入用户名、电子邮件地址和密码。这是我背后的代码:
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnRegister_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
}
protected void cvEmail_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = false;
}
这是我的页面:
<asp:ValidationSummary ID="vs" runat="server" />
<asp:TextBox ID="txtUsername" runat="server" />
<asp:TextBox ID="txtEmail" runat="server" />
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" />
<asp:Button ID="btnRegister" runat="server" OnClick="btnRegister_Click" />
<asp:CustomValidator ID="cvEmail" runat="server" ControlToValidate="txtEmail"
OnServerValidate="cvEmail_ServerValidate"
ErrorMessage="Invalid Email" />
所以问题是,如果自定义验证器失败,当页面重新加载我的错误消息时,我的文本框是空的。但奇怪的是,如果我检查 Firebug 中的文本框元素,value
设置的input
,它只是由于某种原因没有显示在页面上。
我尝试EnableViewState
在文本框和页面上设置为 true,但这没有帮助。
有人知道我在做什么错吗?