2016-09-25 58 views
0

我是mvc的新手。現在我正在嘗試創建一個登錄頁面。如果登錄成功,那麼它應該重定向到管理頁面。這很好,但即使登錄成功,它也會顯示Login按鈕。登錄成功後,我只需要管理員視圖中的logout按鈕。如何將Html.ActionLink從_Layout頁面隱藏到另一個cshtml頁面?

現在我的管理視圖顯示了這樣的事情:

登錄註銷
歡迎聯繫

,但我想是這樣的

註銷
歡迎聯繫

這是我 _Layout.cshtml頁

<ul class="nav navbar-nav"> 
    <li>@Html.ActionLink("Login", "Login", "MyAccount")</li> 
    <li> 
    @{ 
     if (Request.IsAuthenticated) 
     { 
      <li>@Html.ActionLink("Logout", "Logout", "MyAccount")</li> 
     }       
    } 
    </li> 
</ul> 

和控制器:

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Login(Login l, string returnUrl = "") 
{ 
    //Some code// 
    { 
       return RedirectToAction("Admin", "Home"); 
    } 
} 

和管理視圖:

<h2> 
    Welcome @(Request.IsAuthenticated ? HttpContext.Current.User.Identity.Name: "") 
</h2> 

我不知道這是否可能將隱藏登錄按鈕從_layout隱藏到管理視圖。

回答

1

爲什麼不有條件地使用if-else來渲染鏈接?

<ul> 
@if (!Request.IsAuthenticated) 
{ 
    <li>@Html.ActionLink("Login", "Login", "MyAccount")</li> 
} 
else 
{  
    <li>@Html.ActionLink("Logout", "Logout", "MyAccount")</li> 
} 
</ul> 
+0

我多傻。謝謝@Shyju :) –

相關問題