现在我有一个三步的asp:wizard。
创建用户
表单到电子邮件
字段摘要
在第三步单击Finish按钮时,我想创建用户并发送表单。我已经写好了这个逻辑,但我唯一的问题是当按下向导上的“下一步”按钮时,会出现回发和“我的密码”字段:
<asp:TextBox ID="txtPassword" TextMode="Password" Width="70%" runat="server" />
不保留其值。
你认为什么是我克服这个问题的最安全、最实用的方法?
最佳答案
我可能会开发一个表示将由向导创建的数据的类:
public class WizardForm
{
public User NewUser {get;set;}
public Form FormToEmail {get;set;}
}
然后在向导的每一步中,我都会更新这个类并将其存储在会话中:
WizardForm form = Session["WizardForm"] as WizardForm;
if (form == null)
{
form = new WizardForm();
Session["WizardForm"] = form;
}
form.User.Password = txtPassword.Text; // etc
或者您可以将密码存储在会话中,稍后再检索它:
Session["WizardPassword"] = txtPassword.Text;
string password = Session["WizardPassword"].ToString();