2010-11-17 15 views
0

Actuellement, j'ai un formulaire de registre entièrement opérationnel. Cependant, je dois maintenant ajouter les adresses des utilisateurs à la forme, tout va bien jusqu'à ce que je viens d'ajouter les utilisateurs traitent les informationsdnn - Ajout des informations de profil à un nouvel objet userinfo (dans le cadre de l'enregistrement personnalisé)

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 

La raison de Code Postal été Differnet était un test pour voir si elle a changé le résultat (il didnt)

Fondamentalement, l'utilisateur est enregistré correctement. Cependant quand je vais à la page UserProfile les données ne sont pas là. seuls le prénom et le nom sont dans les champs.

Il semble ajouter les données à la db sous le mauvais propertydefinitionID (exemple preferedlocale ajoute avec un ID de 19, mais si je change dans la page UserProfile je reçois 38

Répondre

2

Voici comment je crée de nouveaux utilisateurs .


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(); 
} 

allusion donc pour vous est de définir une bonne id portail pour l'utilisateur et ne pas enregistrer les propriétés de profil en appelant la fonction appropriée une fois que vous avez terminé avec la définition des propriétés.

J'espère que cela vous aidera.

+0

merci, avant de lire votre message, j'ai trouvé un autre de créer un profil d'information et de le remplir avec les données et l'ajouter à l'info utilisateur. – Matt