在Razor语法if语句中使用活动类

时间:2015-01-12 17:48:34

标签: asp.net-mvc razor

我有一个表单,根据您所在的步骤呈现部分视图。我想在顶部创建一个向导类型导航。如何根据当时呈现的部分视图来创建活动类?

我有我的向导

<div class="container wizard">
<div class="row">
    <div class="col-xs-12">
        <ul class="nav nav-pills nav-justified thumbnail">
            <li>
                <a href="#">
                    <h4 class="list-group-item-heading">Step 1</h4>
                    <p class="list-group-item-text">Select a Loan Type</p>
                </a>
            </li>
            <li class="active">
                <a href="#">
                    <h4 class="list-group-item-heading active-heading">Step 2</h4>
                    <p class="list-group-item-text">Enter Personal Information</p>
                </a>
            </li>
            <li class="disabled">
                <a href="#">
                    <h4 class="list-group-item-heading">Step 3</h4>
                    <p class="list-group-item-text">Third step description</p>
                </a>
            </li>
            <li class="disabled">
                <a href="#">
                    <h4 class="list-group-item-heading">Step 3</h4>
                    <p class="list-group-item-text">Third step description</p>
                </a>
            </li>
        </ul>
    </div>
</div>

我试过

@if (@html.partialview("index") {
     class="active";
}

这似乎不起作用。

更新:

我使用了一个HTML Helper来使用活动类,但是由于ajax调用,我正在索引视图中。

public static string IsActive(this HtmlHelper html,
                              string control,
                              string action)
    {
        var routeData = html.ViewContext.RouteData;

        var routeAction = (string)routeData.Values["action"];
        var routeControl = (string)routeData.Values["controller"];

        // both must match
        var returnActive = control == routeControl &&
                           action == routeAction;

        return returnActive ? "active" : "";
    }

0 个答案:

没有答案