1
我的页面是注册页面,用户输入电子邮件地址和密码。这里是我的单击事件:回发后文本框丢失值
protected void btnRegister_Click(object sender, EventArgs e)
{
MembershipCreateStatus createStatus = MembershipCreateStatus.ProviderError;
MembershipUser user = Membership.CreateUser(txtUsername.Text,
txtPassword.Text, txtEmail.Text, null, null, true, out createStatus);
if (createStatus != MembershipCreateStatus.Success)
{
cvUser.IsValid = false;
cvUser.ErrorMessage = "Invalid";
}
else
Response.Redirect("Home");
}
这里是我的网页:
<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="cvUser" runat="server" ControlToValidate="txtEmail" />
cvUser
是我的网页上一个自定义的验证,我使用,使该错误信息会出现在我的ValidationSummary
。
因此,当用户创建失败时会出现问题。我将cvUser.IsValid
设置为false,以便显示错误,然后重新加载页面。只有当页面重新加载时,我的文本框中的所有数据都消失了。
有没有办法维护这些数据?
您是否有任何代码正在运行以在页面上创建控件?如何将文本框添加到页面?在ASPX或代码背后? – 2012-08-15 16:54:33
我希望你正在做一个Page_Load/Init/PreRender/Render,它应该被包裹在'!Page.IsPostBack' – 2012-08-15 16:57:34
你需要显示你的初始化事件,正如J托雷斯所建议的那样,你可能正在擦除它。 – 2012-08-15 17:00:48