如何将自定义参数添加到成员身份创建用户向导?

时间:2013-05-02 17:08:40

标签: c# asp.net asp.net-membership membership-provider

我现在真的很困惑。我已经阅读了这个问题的一些解决方案,但每一个都不同......有人说网络应用程序项目和网站项目需要不同的解决方案。

我的想法是什么:

我有一个Web应用程序项目

我在该表中创建了一个表UserProfile,其中我存储了其他列,例如指向图像的链接。

我现在的问题是,当我在提交时调用RegisterUser_CreatedUser时,我找不到任何方法来获取新创建的用户的Guid:

 protected void RegisterUser_CreatedUser(object sender, EventArgs e)
 {
      FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);

      TextBox ImageUrl = RegisterUserWizardStep.ContentTemplateContainer.FindControl("ImageUrl") as TextBox;

      UserProfile.SaveNewProfileInformation("place for new created user guid", ImageUrl.Text);

      string continueUrl = RegisterUser.ContinueDestinationPageUrl;

      if (!OpenAuth.IsLocalUrl(continueUrl))
      {
         continueUrl = "~/";
      }

      Response.Redirect(continueUrl);
}

如何获取新创建用户的指南?我在正确的轨道上解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您需要使用UserName

获取创建的用户
{
    FormsAuthentication.SetAuthCookie(RegisterUser.UserName, createPersistentCookie: false);

    //If user is created, get it by UserName
    MembershipUser createdUser = Membership.GetUser(RegisterUser.UserName);       
    Guid userID = new Guid(createdUser.ProviderUserKey.ToString());

    TextBox ImageUrl = RegisterUserWizardStep.ContentTemplateContainer.FindControl("ImageUrl") as TextBox;

    //Use the userID from the above code
    UserProfile.SaveNewProfileInformation(userID, ImageUrl.Text);
}