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