2012-02-19 3 views
0

사이트 링크에서 현재 사용자의 페이지로 연결되는 링크를 어떻게 만듭니 까? 나는 그 (것)들에게 각 사용자의 명부를 얻고 그들 자신을 원한다. 내 메뉴 링크 같은 것을 생각하고 있어요 :ActionLink를 특정 사용자에게 만들기

이 가

  • @ Html.ActionLink (. "내 정보", "세부 사항", "고객", Membership.GetUser는() ProviderUserKey)
  • 답변

    3

    나는 생각한다 사용자에게 내 세부 정보 페이지 을 매개 변수 또는 경로 값없이 보내면 더 좋습니다..

    페이지에 현재 사용자 데이터가 표시됩니다. 그런데 왜 이렇게 전달해야합니까?

    그냥 리디렉션 사용자에게 "내 세부 정보"페이지, 사용자가 해당 페이지에있을 때 그 후, , 당신은 사용하여 현재 사용자 얻을 수 있습니다 : HttpContext.CurrentUser를.

    경로 값에 사용자 데이터를 넣지 마십시오. 대신 페이지의 컨트롤러에서 가져 와서 페이지에 전달할 수 있습니다.

    +0

    굉장! 건배! –

    +0

    @ MagnusKarlsson : 환영합니다 :) –

    1

    당신은 "링크"당신이 좋아 원하는 데이터를 반환하는 ChildAction 생성, 페이지가 인증 된 사용자를 볼 때 보여 표시 할 경우,

    [Authorize] 
        [ChildActionOnly] 
        public ActionResult UserLinks() { 
         var items = someRepository.GetLinks(User.Identity.Name); 
         return PartialView(items,"SomePartialView"); 
        } 
    

    를 다음을의 RenderAction을 사용 다음과 같이보기 :

    @{ Html.RenderAction("UserLinks");} 
    

    둘째로, 나는 "Afshin Gh"의 의견에 동의합니다. "ActionLink (s)"에서 데이터를 전달하는 대신 Controller에서 코드를 코딩하여 필요에 따라 데이터를 필터링 할 수 있습니다. 위의 "UserLinks"방법에 나와 있습니다. 이렇게하면 누군가 다른 사용자의 데이터를 표시하기 위해 URL을 조작 할 수 없습니다.

    관련 문제