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")%> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 错误:此程序集是由运行时比当前加载的运行时更
- asp.net-mvc – 传递给Html.ActionLink时在模型上序列化ILi
- asp.net-mvc – 如何将自定义数据属性和类添加到`@ Html.Ed
- AOP无法切入同类调用方法解决办法
- asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示
- 如何将ASP.NET用户控件转换为Web /复合控件?
- asp.net – 授权和验证对静态内容的访问(pdf)
- asp.net – 单个站点上的多个应用程序 – 会话和表单身份验
- asp.net – 为什么在web.config中保存动态数据是个坏主意?
- 寻求关于消除asp.net 3.5的建议