现在我有一个三步的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();

09-05 22:19