Meilleur auteur de réponses
Relier la base ASPNETDB avec une personnelle pour les profiles

Question
-
Bonjour à toutes et à tous,
j'utilise la DB ASPNETDB.mdf pour mes comptes utilisateurs (celle fournie par défault dans le framework).
A coté, j'ai créer une database qui contient une table "profile" avec d'autres informations. il y a dedans un id qui doit me relier à l'utilisateur dans ASPNETDB.
Comment puis-je faire, dans mon AccountController.cs pour créer mes méthodes d'édition du profile afin qu'il prennent les bonnes informations dans ma table "profile" si l'id_user est égal à userID dans ASPNETDB?Si il existe un meilleur moyen, je suis prenneur !
D'avance je vous remercie.
Byannickvendredi 12 novembre 2010 01:09
Réponses
-
Bonjour,
Il n'existe pas de méthode CreateProfile(). Pour associer des informations sur le profil de l'utilisateur actuellement authentifié, utilisez la propriété :
HttpContext.Current.Profile
Cordialement
Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Marqué comme réponse kiwi-ch dimanche 14 novembre 2010 15:50
samedi 13 novembre 2010 22:44Modérateur
Toutes les réponses
-
Bonjour,
Pourquoi ne pas utiliser l'API de gestion des profiles d'ASP .NET (celui-ci peut s'intégrer dans la base de données ASPNETDB.) : http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx
Cordialement
Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.frvendredi 12 novembre 2010 12:55Modérateur -
Bonjour,
Ainsi les lignes suivantes sont correcte:
<profile> <properties> <group name="Identité"> <add name="Nom"/> <add name="Prénom"/> <add name="Sexe"/> <add name="Année de naissance" type="System.DateTime"/> <add name="Status sentimental"/> <add name="Originaire de"/> <add name="Photo" /> </group> .... </properties> <providers> <clear/> <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" /> </providers> </profile>
et AccountModels.cs:
#region Models public class userIdentity : ProfileBase { [Required] [SettingsAllowAnonymous(false)] [ProfileProvider("AspNetSqlProfileProvider")] [Display(Name = "Nom")] public string Nom { get { return base["Nom"].ToString(); } set { base["Nom"] = value; } } [Required] [SettingsAllowAnonymous(false)] [ProfileProvider("AspNetSqlProfileProvider")] [Display(Name = "Prénom")] public string Prenom { get { return base["Prénom"].ToString(); } set { base["Prénom"] = value; } } [Required] [SettingsAllowAnonymous(false)] [ProfileProvider("AspNetSqlProfileProvider")] [Display(Name = "Sexe")] public string Sexe { get { return base["Sexe"].ToString(); } set { base["Sexe"] = value; } } [Required] [SettingsAllowAnonymous(false)] [ProfileProvider("AspNetSqlProfileProvider")] [Display(Name = "Année de naissance")] public DateTime Anniversaire { get { return (DateTime)base["Année de naissance"]; } set { base["Année de naissanc"] = value; } } [SettingsAllowAnonymous(false)] [ProfileProvider("AspNetSqlProfileProvider")] [Display(Name = "Status sentimentale")] public string Status { get { return base["Status sentimental"].ToString(); } set { base["Status sentimental"] = value; } } [SettingsAllowAnonymous(false)] [ProfileProvider("AspNetSqlProfileProvider")] [Display(Name = "Originaire de")] public string Origine { get { return base["Originaire de"].ToString(); } set { base["Originaire de"] = value; } } [SettingsAllowAnonymous(false)] [ProfileProvider("AspNetSqlProfileProvider")] [Display(Name = "Photo profil")] public string Photo { get { return base["Photo"].ToString(); } set { base["Photo"] = value; } } } ...
N'est-ce pas? De ce fait, lorsque la personne ira s'enregistrer, le code
[HttpPost] public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { // Attempt to register the user MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email); if (createStatus == MembershipCreateStatus.Success) { FormsService.SignIn(model.UserName, false /* createPersistentCookie */); return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus)); } } // If we got this far, something failed, redisplay form ViewModel.PasswordLength = MembershipService.MinPasswordLength; return View(model); }
possédera une autre ligne de ce type:
MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
avec toutes mes informations, et en découlera les condition comme ci-dessus. et pareil pour la partie d'edition. Suis-je dans le juste? je ne veux pas m'avancer trop vite et devoir tout revenir en arrière.
Meilleures salutations et merci encore pour votre réponse !
vendredi 12 novembre 2010 23:31 -
possédera une autre ligne de ce type:
MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
avec toutes mes informations, et en découlera les condition comme ci-dessus. et pareil pour la partie d'edition. Suis-je dans le juste? je ne veux pas m'avancer trop vite et devoir tout revenir en arrière.
Meilleures salutations et merci encore pour votre réponse !
Bonjour,
J'ai du mal à comprendre la fin de votre demande... Pouvez-vous être plus explicite ?
Cordialement
Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.frsamedi 13 novembre 2010 19:09Modérateur -
N'est-ce pas?
MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email); //Je rajoute MembershipCreateStatus profileStatus = Membership.CreateProfile(models.Nom, models.Prenom, models...);
samedi 13 novembre 2010 22:21 -
Bonjour,
Il n'existe pas de méthode CreateProfile(). Pour associer des informations sur le profil de l'utilisateur actuellement authentifié, utilisez la propriété :
HttpContext.Current.Profile
Cordialement
Gilles TOURREAU - MVP C# - MCPD Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5 - MCTS ADO .NET 3.5 / SQL Server 2008 Developper - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Marqué comme réponse kiwi-ch dimanche 14 novembre 2010 15:50
samedi 13 novembre 2010 22:44Modérateur