2009-08-02 4 views
0

가능한 중복 :
How to assign Profile values?ASP.NET MVC 뷰에서 사용자의 멤버십 프로필을 얻는 방법은 무엇입니까?

나는 ASP.NET MVC와 회원 공급자를 사용하고 있습니다. 보기에서 사용자의 프로필을 얻으려면 어떻게해야합니까? 그것을 얻는 어떤 특별한 방법?

이 방법으로 상자 액세스 사용자 이름 중 템플릿 프로젝트 : 나는 프로파일 데이터에 액세스 할 수있는 유사한 방법을 가지고 싶습니다

<%= Html.Encode(Page.User.Identity.Name) %> 

.

+0

내가 대한 뷰 모델을해야한다는 것을 의미 그건 내 대답은 ... –

답변

1

MVC에서 사용자 프로필에 액세스하는 방법은 다음과 같이 뷰의 프로필 변수를 통해입니다 :

<%= Profile %> 
+1

웹 응용 프로그램이 아닌 웹 사이트에서만 작동합니다. –

+0

@Robert S.의 의견에 대한 자세한 내용은 http://stackoverflow.com/questions/426609/how-to-assign-profile-values를 참조하십시오. – jamiebarrow

2

MVC에서는보기에서 직접 프로필에 액세스하면 안됩니다. 모델 객체를 values of the user profile in the controller으로 채우고 뷰를 사용하여 해당 값을 렌더링해야합니다.

+0

업데이트 절대적으로 모든보기 내가 가지고있는 회원 데이터를 추가 할 수 있습니다. 나는 그것이 순수 MVC 인 방법을 이해하지만 추악하고 성가신 것을 발견했다. 또한 내장 템플릿은 Page.User.Identity.Name에 액세스하여 사용자 이름을 얻는 방법을 보여 주며 틀입니까? – Pablo

+0

회원 데이터로 기본 ViewModel을 생성하고이를 사용하십시오. 특정보기에 대한 추가 데이터가 필요한 경우 기본을 상속하고 세부 사항을 추가하십시오. – svinto

+0

svinto : 대부분의 내 견해는 엔티티 프레임 워크에서 나온 바로 모델로 훌륭합니다. 기본 ViewModel을 가졌는지 여부는 각 뷰에 대해 많은 추가 클래스를 갖는 것을 의미합니다. 그게 우아한 방법인가요? – Pablo

2

회원 자격은 서버 측에서 처리됩니다. 해당 정보를보기에서 사용할 수있게하려면 Session 또는 ViewData 사전을 사용하십시오. 페이지를 렌더링하기 전에 적절한 데이터 또는 객체를 ViewData 사전에 넣거나 세션의 일부로 추가하십시오. 하나의보기에서만 사용하는 경우 ViewData를 사용하는 것이 좋습니다.

+0

두 개 이상의보기에서 사용하는 경우보기 모델을 사용 하시겠습니까? – jamiebarrow

관련 문제