2015-08-27 79 views
0

我試圖添加一個特定的視圖到我的Asp.net Mvc應用程序,我的意思是儀表板頁面。因此我嘗試添加一個帶有不同項目的側欄菜單。我需要做的是顯示一個視圖,該視圖取決於同一頁面中所選的側邊欄項目。Asp.Net MVC如何創建一個儀表板視圖頁

+0

我想你可以使用包含儀表板項目的佈局頁面,一旦你點擊其中一個項目更改視圖。或者你可以使用單個頁面... – Riki

+0

我不希望邊欄顯示在所有頁面,只有當用戶試圖顯示儀表板 –

+0

哦,你的意思是它像一個側面板(或類似的東西),可以是通過點擊某個按鈕隱藏或顯示...我是否正確 – Riki

回答

1

我建議如果你想顯示在側邊欄不同的物品放置在Layout.cshtml

側邊欄,你可以檢查電流控制器名和電流控制器的動作

@if(ViewContext.RouteData.Values["controller"] == "Home") 
{ 
    <li>item</li> 
} 

另一種方式是創建您自己的WebViewPage並讓您的自定義變量在您的視圖中可用。它可以是控制器名稱,動作名稱或其他任何東西。

另一個不太推薦的方法是在ViewBag中保存優選的側欄名稱。這意味着在你的Page.cshtml將包含:

@{ 
    ViewBag.PreferredSidebar = "default"; 
} 

,以後你可以在Layout.cshtml按此數值工作:

@if(ViewBag.PreferredSidebar == "default") 
{ 
    @Html.Partial("SidebarDefault") 
} 

您可以結合這個方法。

如果你想用戶可以隱藏/顯示側邊欄上點擊一些按鈕一個記住這個設置,可以使用例如的JavaScriptHTML5本地存儲(設置將存儲爲當前用戶和他的瀏覽器)。

相關問題