3
。我在主頁上有各種鏈接。例如使用asp.net mvc獲取當前控制器和masterpage內的動作
/主頁/
/首頁/
/新聞/
/文檔/
,如果我選擇一個鏈接,我想一個類就可以設置。例如如果我選擇新聞鏈接,我想通過設置一個類來突出顯示它。
我如何確定什麼控制器和動作即時通訊以設置其類屬性?
。我在主頁上有各種鏈接。例如使用asp.net mvc獲取當前控制器和masterpage內的動作
/主頁/
/首頁/
/新聞/
/文檔/
,如果我選擇一個鏈接,我想一個類就可以設置。例如如果我選擇新聞鏈接,我想通過設置一個類來突出顯示它。
我如何確定什麼控制器和動作即時通訊以設置其類屬性?
routedata將包含該信息。關鍵「控制器」將包含控制器的名稱,而「動作」鍵將包含動作的名稱。
爲了解決你想要做的事情,我通常在身體標籤上放一個id,其中包含控制器名稱和動作名稱。事情是這樣的:
<body id="<%=Html.GetBodyId()%>">
而且GetBodyId()方法會是這個樣子:
public static string GetBodyId(this HtmlHelper helper) {
return string.Format("{0}-{1}",
helper.ViewContext.RouteData.GetRequiredString("controller"),
helper.ViewContext.RouteData.GetRequiredString("action");
}
然後,我把我的鏈接班在我的母版頁,可以是這個樣子:
<a href="[[link]]" class="home-index-link">Home</a>
然後我可以創建我的CSS規則,使選定的鏈接可以有不同的外觀。這可以看起來像這樣:
.home-index-link {
/*css rules here*/
}
#home-index .home-index-link {
/*css for selected link*/
}
當,忘了登錄之前編輯。感謝這裏的建議,儘管對於任何人來說,ViewContext是HtmlHelper(helper)的一個屬性, – DaveD 2013-02-25 20:30:35