作爲討論的基礎。創建一個標準的ASP.NET MVC Web項目。如何在ASP.NET MVC中直觀地表示當前頁面?
它將包含在母版頁兩個菜單項:
<div id="menucontainer">
<ul id="menu">
<li>
<%= Html.ActionLink("Home", "Index", "Home")%></li>
<li>
<%= Html.ActionLink("About", "About", "Home")%></li>
</ul>
</div>
如何設置指示當前頁面的可視化CSS樣式。 例如,在關於頁/控制器,我基本上是想做到這一點:
<%= Html.ActionLink("About", "About", "Home", new {class="current"})%></li>
,當然,在主頁上:
<%= Html.ActionLink("Home", "Index", "Home", new {class="current"})%></li>
(有一個CSS樣式在當前頁面上顯示當前菜單中顯示的名稱)
我可以將菜單div從主頁面分解爲內容佔位符,但這意味着我必須將菜單放在每個頁面上。
任何想法,有沒有一個很好的解決方案呢?
不是一個好的解決方案。視圖應該對控制器和操作一無所知。要顯示的數據只能由模型提供。 – 2009-09-24 13:09:06
這只是獲取URL的捷徑 - 您可以使用所請求的URL做同樣的事情,但是您必須解析它。我滿足於這種機制並沒有打破這種模式。 – tvanfosson 2009-09-24 13:19:55
語法是否正確?我得到「不能用[]將索引應用於類型爲'System.Web.Routing'的表達式。RouteData'「 – 2009-09-24 13:33:29