2
如何把class =「active」根據選定的控制器<li>
?把CSS類取決於選定的控制器
<li ><a href="@Url.Action("index", "Home")">Home</a></li>
<li ><a href="@Url.Action("index", "Car")">Cars</a></li>
祝福
如何把class =「active」根據選定的控制器<li>
?把CSS類取決於選定的控制器
<li ><a href="@Url.Action("index", "Home")">Home</a></li>
<li ><a href="@Url.Action("index", "Car")">Cars</a></li>
祝福
我通常創建一個動作鏈接的HTML幫助完成這項任務。請注意,我將鏈接本身標記爲「已選擇」與列表項目。
public static class ActionLinkHelpers
{
public static MvcHtmlString SelectedActionLink(this HtmlHelper helper, string linkText, string actionName, string controllerName)
{
var controller = (string) helper.ViewContext.RouteData.Values["controller"];
if (string.Compare(controller, controllerName, StringComparison.InvariantCultureIgnoreCase) == 0)
{
return helper.ActionLink(linkText, actionName, controllerName, null, new { Class = "selected" });
}
return helper.ActionLink(linkText, actionName, controllerName);
}
}
後您的項目中有一個動作鏈接助手設置列表將如下所示:
<li>@Html.SelectedActionLink("Home", "index", "Home")</li>
<li>@Html.SelectedActionLink("Cars", "index", "Car")</li>
編輯:
爲了使用自定義的助手MVC必須知道的它。例如,將一個新文件夾添加到您的項目「HtmlHelpers」中,並將該類放入其中。從那裏,你需要添加一行到/Views/Web.config
:
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="YourNameSpace.HtmlHelpers"/>
</namespaces>
</pages>
感謝朋友,什麼是實現類SelectedActionLink庫? – kalu
表示錯誤'helper.ActionLink' :( – kalu
@kalu請參閱我的編輯。 – Jesse