2013-03-16 2 views

답변

1

_ 레이아웃보기 또는 부분보기를 사용해 보셨습니까? 이 처리하는 하나 개 이상의 방법이 있습니다

+0

그러나 어떻게 관련이 있습니까? 이 라우팅은 컨트롤러 작업의 책임이 아니어야합니까? –

+1

mvc 인증을 사용하면 사용자 개체가보기의 모든 위치에 액세스 할 수 있고 @ User.Identity를 작성하는 경우 i.A 조건에 ifAuthenticated가 표시되므로보기에 표시 할 내용을 결정할 수 있습니다. 모든보기에서 사용할 수 있습니다. –

+0

나는 그것을 올바르게 얻었다. 도움을 주셔서 감사합니다 .... –

1

...

당신은 컨트롤러 또는 당신에게보기의를 그것을 처리합니다. 이상적으로 나는 그 선택이 당신이 보여주고 싶은 것과 그렇지 않은 경우에 따라 달라질 것이라고 생각합니다.

Function Index()As ActionResult 
    If Request.IsAuthenticated Then 
    ' Logged in is TRUE 
    Return View(LoggedInUserContentModel) 
    Else 
    ' Logged in is FALSE 
    Return View(SiteGuestUserContentModel) 
    End If 
End Function 

당신이보기에 그것을 처리 할 경우

가 .... 가 직접

<% If Request.IsAuthenticated Then %> 
    <!-- User is Logged In --> 
    Welcome <b><%: Page.User.Identity.Name %></b>! 
    [ <%: Html.ActionLink("Log Off", "LogOff", "Account")%> ] 
<% Else %> 
    <!-- User is NOT Logged In --> 
    Welcome <b>Guest</b> please login! 
    [ <%: Html.ActionLink("Log On", "LogOn", "Account")%> ] 
<% End If %> 

당신은 선택적하지 않도록 선택할 수 있습니다 페이지의 내용을 표시하면 컨트롤러에서 처리 할 경우

.... 페이지 자체에 포함 된 콘텐츠를 직접 표시하지만 ChildAction 에서 검색 한 콘텐츠를 표시하도록 선택할 수 있습니다 (콘텐츠를 직접 배치하지 않고 이전의 MVC 스타일이 아닌 웹 디자인을 사용하여 UserControl에 표시하는 것과 유사합니다 웹 페이지에서)

1

간단한 방법으로 컨트롤러 메소드에서 RedirectToAction을 사용하는 것이 좋습니다.

Function Index() As ActionResult 
    If User.Identity.IsAuthenticated Then 
     Return RedirectToAction("Index", "AuthenticatedController") 
    Else 
     Return View() 
    End If 
End Function 
관련 문제