使用asp.net mvc。我在主页中有各种链接。例如
/主页/
/首页/关于
/新闻/
/文档/
如果我选择一个链接,我想在其上设置一个类。例如如果我选择新闻链接,我想通过在其上设置一个类来突出显示它。
如何确定控制器和操作的内容以设置其类属性?
答案 0 :(得分:3)
routedata将包含该信息。键“controller”将包含控制器的名称,键“action”将包含操作的名称。
要解决您想要做的事情,我通常会在包含控制器名称和操作名称的body标签上添加一个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*/
}