在ASP.NET CreateUserWizard控件中隐藏和预填充字段?

时间:2012-05-14 14:02:06

标签: asp.net vb.net asp.net-membership createuserwizard

我有一个应用程序,其中用户填写表明他们对服务感兴趣的表单。这包括联系信息。 (例如姓名,电子邮件)。然后将它们重定向到具有CreateUserWizard控件的页面 - 这个想法是它将使用大部分信息预填充表单。需要创建一个用户帐户(不包括需要手动输入的用户名/密码)。

我想要做的是让CreateUserWizard控件根本不显示这些字段(因为它们不可预先填充),所以用户看到的是他们需要输入用户名和密码。我可以通过两种方式实现这一目标:

使用子程序:我可以使用CreateUserWizard_CreatedUser之类的子程序来添加信息。编程。我不确定CreatedUser是否是添加此信息的最佳位置。

使用隐藏字段:我想我可以在CreateUserWizard控件布局中添加隐藏字段,并以某种方式告诉控件在这些不可见字段中查找信息。喜欢名字和电子邮件?

我正在寻找有关实现此目标的最佳方法的建议以及有关如何实际实施的任何想法。

1 个答案:

答案 0 :(得分:1)

当用户填写联系信息表单并单击提交时,您可以将该信息存储在会话变量中(此处,“phoneNum”和“email”将是您的联系信息TextBox s):

Session("name") = phoneNum.Text
Session("email") = email.Text

这样,您就可以从CreateUserWizard存在的页面代码中轻松访问这些值。

听起来您很可能希望处理Creating User事件,以便在成员资格提供程序上调用CreateUser方法之前将这些值放在CreateUserWizard上的相应控件中。像这样:

Protected Sub RegisterUser_CreatingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles RegisterUser.CreatingUser
    RegisterUser.Email = Session("email").ToString()
    RegisterUser.UserName = Session("name").ToString()
End Sub

(“RegisterUser”是CreateUserWizard控件的名称)

如果您有任何问题,请与我们联系。