有条件地根据路线添加课程

时间:2013-09-09 20:49:25

标签: asp.net-mvc asp.net-mvc-4 master-pages

我的网站有不同的部分。假设有一个叫做账户。

帐户有一个子导航链接列表。每个子导航链接在Accounts视图文件夹(Views / Accounts / Subnav1,Views / Accounts / Subnav2等)下都有自己的视图。我需要将Account子导航HTML代码存储在一个位置,并有条件地将一个“selected”类添加到HTML代码中的相应标记。

我不知道这是否最好通过拥有一个帐户嵌套母版页(具有Accounts子区域)或创建一个帐户子区域部分来实现。无论哪种方式,我都需要弄清楚如何做到这一点。

以下是我正在思考的一些伪代码:

帐户subnav嵌套母版页/部分:

<ol>
    <li <% if (action.Equals("Subnav1")) { %><%: class="selected" %><% } %>>Subnav 1</li>
    <li <% if (action.Equals("Subnav2")) { %><%: class="selected" %><% } %>>Subnav 2</li>
</ol>

1 个答案:

答案 0 :(得分:1)

<ol>
    <% string action = ViewContext.Controller.ValueProvider.GetValue("action").RawValue; %>
    <li <% if (action.Equals("Subnav1", StringComparison.OrdinalIgnoreCase)) { %><%: class="selected" %><% } %>>Subnav 1</li>
    <li <% if (action.Equals("Subnav2", StringComparison.OrdinalIgnoreCase)) { %><%: class="selected" %><% } %>>Subnav 2</li>
</ol>