加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在asp.net mvc主页面的导航列表中添加“活动”标

发布时间:2020-12-15 19:41:24 所属栏目:asp.Net 来源:网络整理
导读:在默认的asp.net mvc项目中,在Site.Master文件中,有一个菜单导航列表: div id="menucontainer" ul id="menu" li%= Html.ActionLink("Home","Index","Home")%/li li%= Html.ActionLink("About Us","About","Home")%/li /ul/div 这将在浏览器中呈现: div i
在默认的asp.net mvc项目中,在Site.Master文件中,有一个菜单导航列表:
<div id="menucontainer">
    <ul id="menu">              
        <li><%= Html.ActionLink("Home","Index","Home")%></li>
        <li><%= Html.ActionLink("About Us","About","Home")%></li>
    </ul>
</div>

这将在浏览器中呈现:

<div id="menucontainer"> 
    <ul id="menu">              
        <li><a href="/">Home</a></li> 
        <li><a href="/Home/About">About Us</a></li> 
    </ul> 
</div>

我想能够基于被调用的视图动态设置活动列表项。也就是说,当用户正在查看主页时,我想要创建以下HTML:

<div id="menucontainer"> 
    <ul id="menu">              
        <li class="active"><a href="/">Home</a></li> 
        <li><a href="/Home/About">About Us</a></li> 
    </ul> 
</div>

我希望做到这一点的方式是:

<div id="menucontainer">
    <ul id="menu">              
        <li <% if(actionName == "Index"){%> class="active"<%}%>><%= Html.ActionLink("Home","Home")%></li>
        <li <% if(actionName == "About"){%> class="active"<%}%>><%= Html.ActionLink("About Us","Home")%></li>
    </ul>
</div>

这里的关键是<%if(actionName ==“Index”){%> class =“active”<%}%>线。我不知道如何确定当前actionName是什么。

任何建议如何做到这一点?或者,如果我完全错误的轨道,有没有更好的方法来做到这一点?

解决方法

我自己做了一个帮助方法来处理这种类型的事情。在我的主页的代码(可以推到一个扩展方法…可能是一个更好的方法),我把以下代码。
protected string ActiveActionLinkHelper(string linkText,string actionName,string controlName,string activeClassName)
{
    if (ViewContext.RouteData.Values["action"].ToString() == actionName && 
            ViewContext.RouteData.Values["controller"].ToString() == controlName)
        return Html.ActionLink(linkText,actionName,controlName,new { Class = activeClassName });

    return Html.ActionLink(linkText,controlName);
}

然后,我只是调用它在我的页面,如此:

<%= ActiveActionLinkHelper("Home","Home","selected")%>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读