更改布局文件mvc4中的类

CR4*_*G14 3 c# asp.net-mvc-3 asp.net-mvc-4

我有一个布局页面,包括标准的页眉和页脚和RenderBody()功能.我的标题包含一个导航,顶部有大按钮作为系统中的模块

Customer    Quote    Jobs     etc
Run Code Online (Sandbox Code Playgroud)

我的问题是我希望能够根据点击的按钮为这些按钮提供一组有效的负载.我是否需要在javascript中执行此操作,或者无论如何我可以将模型数据或某些变量传递给布局文件来设置它?

Oli*_*ver 5

我使用以下函数来实现此目的:

public static string MarkActive<TModel>(this HtmlHelper<TModel> html,string url)
{
    if (html.ViewContext.HttpContext.Request.Url.LocalPath
        .ToLower().StartsWith(url.ToLower().Trim()))
        return "active";
    else
        return null;
}
Run Code Online (Sandbox Code Playgroud)

这是我保存在HtmlExtensions.cs文件中的扩展方法.我这样使用它:

<ul>
    <li class="@Html.MarkActive("/home")"><a href="/home">Home</a></li>
    <li class="@Html.MarkActive("/microsite"><a href="/microsite">View Microsite</a></li>
    <li class="@Html.MarkActive("/settings")"><a href="/settings/">Settings</a></li>
    <li><a href="/account/logout">Log out</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

可能有更好的解决方案,但这对我有用.简而言之,您应该检查HttpContext您的页面.