7

여러 영역이있는 MVC5 응용 프로그램이 있습니다. 프로젝트는 네비게이션 막대에 로그 오프 링크로 생성되었지만 사용자가 영역 중 하나에 있으면 링크가 끊어집니다. 나는 추가를 생각했다 :MVC5 다른 영역에서 로그 오프 링크가 실패합니다.

new { area = "" } 

는 적절한 장소로 다시 링크를 가리키고 있지만 그렇지 않거나 잘못된 장소에서 시도했다. 아래 코드 : 필요한 사항에

@using Microsoft.AspNet.Identity 
    @if (Request.IsAuthenticated) 
    { 
     using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" })) 
     { 
      @Html.AntiForgeryToken() 

      <ul class="nav navbar-nav navbar-right"> 
       <li> 
       @Html.ActionLink("Hello " + User.Identity.GetUserName(), "Manage", "Account", routeValues: null, htmlAttributes: new { title = "Manage" }) 
       </li> 
       <li><a href="javascript:document.getElementById('logoutForm').submit()">Log off</a></li> 
      </ul> 
     } 
    } 
    else 
    { 
     <ul class="nav navbar-nav navbar-right"> 
      <li>@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink" })</li> 
     </ul> 
    } 

모든 아이디어에 관계없이 지역 사용자가 현재 무엇의 로그 오프 일이 변경 될?

+0

내가'새 {영역 = ""}'코드에서 조각의 선두로부터 볼 수 없습니다. 올바른 위치는'Html.BeginForm (...) '매개 변수 내에 있습니다. – thmshd

답변

12

오른쪽 장소는 Html.BeginForm(...) 매개 변수 내에서입니다 :

using (Html.BeginForm("LogOff", "Account", new { area = "" }, FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" })) 
+0

그 곳에서 그 위치를 지정했으나 아무런 효과가 없었습니다. 그래서 내가 틀렸다고 생각 했으므로 다시 꺼 냈습니다. – user3632714

관련 문제