0

現在、完全に機能する登録フォームがあります。ただし、ユーザーのアドレスをフォームに追加する必要があります。ユーザーのアドレス情報を追加するまでは問題ありません。

Dim newUser As New UserInfo
//Memebership and Userinfo added
newUser.Profile.PreferredLocale = Services.Localization.LocaleController.Instance.GetCurrentLocale(Me.PortalId).Code
newUser.Profile.SetProfileProperty("PostalCode", "S62 6EP")
newUser.Profile.City = txtCity.text
newUser.Profile.Country = txtCountry.text
newUser.Profile.Region = txtRegion.text
newUser.Profile.Street = txtstreet.text
newUser.Profile.Unit = unit.text

郵便番号が異なる理由は、結果が変わったかどうかを確認するためのテストでした (変更されませんでした)。

基本的に、ユーザーは正常に登録されています。ただし、UserProfile ページに移動すると、データがありません。フィールドには姓と名のみが含まれます。

間違った propertydefinitionID の下でデータベースにデータを追加するようです (たとえば、preferedlocale は 19 の ID で追加されますが、UserProfile ページでそれを変更すると 38 になります)

4

1 に答える 1

2

これが私が新しいユーザーを作成する方法です。


DotNetNuke.Entities.Users.UserInfo uInfo = new UserInfo();
uInfo.Username = txtEmail.Text.ToString();
uInfo.Membership.Password = txtPassWord.Text.ToString();
uInfo.PortalID = 0;//this should be appropriate portal id if you want to support multi portal registrations
uInfo.Email = txtEmail.Text.ToString();
DotNetNuke.Security.Membership.UserCreateStatus status = DotNetNuke.Entities.Users.UserController.CreateUser(ref uInfo);
if (status == DotNetNuke.Security.Membership.UserCreateStatus.Success)
{
     //TODO User Created Successfully - update your profile properties here

}
else
{
   //TODO Error Creating user s
   //something like lblError.Text = status.ToString();
}

したがって、ユーザーに適切なポータルIDを設定し、プロパティの設定が完了したら、適切な関数を呼び出してプロファイルプロパティを保存することをお勧めします。

これがお役に立てば幸いです。

于 2010-11-19T07:51:16.147 に答える