2009-11-19 9 views
1

MVC 2, donc je ne sais pas si c'est différent. J'essaie d'ajouter une page de sorte que lorsqu'un utilisateur est connecté, il clique sur son nom d'utilisateur en haut à droite de la page, et les emmène sur une page affichant ses détails (email, changement de mot de passe, informations de profil, etc. ..). J'essaye d'employer le MembershipService d'aspnet pour faire ceci.Comment ajouter une vue pour les détails de l'utilisateur actuel dans MVC?

Répondre

0

Dans votre action du contrôleur faire quelque chose comme:

string id = HttpContext.User.Identity.Name.ToString(); 

ProfileBase profileBase; 
if (!String.IsNullOrEmpty(id)) 
     profileBase = ProfileBase.Create(id); 
else 
     profileBase = HttpContext.Profile as ProfileBase; 

avec l'objet Profilé vous pouvez obtenir tous les profil attributs:

profileBase.GetPropertyValue("PersonalInformation.FirstName") 

Avec ces propriétés, vous pouvez remplir un objet modèle de vue personnalisée, par exemple:

public class ProfileInformation 
{ 
    public string FirstName { get; set; } 
} 

et le transmettre à la vue:

return View(profileInformation); 

En vue de recevoir un you''ll déclarer objet ProfileInformation comme ceci:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
    Inherits="System.Web.Mvc.ViewPage<AzureBright.Models.ProfileInformation>" %> 

Et puis générer les champs de l'éditeur comme celui-ci :

<%= Html.EditorFor(profile => profile)%> 

Espérons que c'est ce que vous vouliez savoir

0

Ce sera la même que dans 1.0, et comme demandé ici: How to get the current user in ASP.NET MVC

+0

Loin de la même question. Celui auquel vous avez lié est «comment obtenir l'utilisateur actuel». Je veux générer une action de contrôleur et afficher qui affiche les détails sur l'utilisateur. – esac

+0

vous devrez donner plus de détails sur ce que vous cherchez à faire, car une fois que vous avez l'objet, le reste est juste votre application. Si vous avez du code qui ne fonctionne pas ou quelque chose, cela pourrait vous aider. –

+0

D'accord avec yetapb. Avec quel morceau vous battez-vous? Créer une vue? Manette? Modèle? En utilisant le fournisseur d'adhésion? –