Asp.Net Mvc突出显示当前页面链接技术?
发布时间:2020-12-15 18:53:45 所属栏目:asp.Net 来源:网络整理
导读:我需要在菜单中突出显示活动链接。我的菜单是在主页上的方式。我在寻找实现这个的最好的方法?有任何想法吗? 解决方法 处理这个问题的最好方法是编写一个HTML帮助器。您可以使用RouteData.Values [“action”]获取当前执行的操作,并与菜单名称进行比较,如
我需要在菜单中突出显示活动链接。我的菜单是在主页上的方式。我在寻找实现这个的最好的方法?有任何想法吗?
解决方法
处理这个问题的最好方法是编写一个HTML帮助器。您可以使用RouteData.Values [“action”]获取当前执行的操作,并与菜单名称进行比较,如果它们匹配,则应用将突出显示的CSS类。
public static MvcHtmlString MenuItem( this HtmlHelper htmlHelper,string action,string text ) { var menu = new TagBuilder("div"); var currentAction = (string)htmlHelper.ViewContext.RouteData.Values["action"]; if (string.Equals( currentAction,action,StringComparison.CurrentCultureIgnoreCase) ) { menu.AddCssClass("highlight"); } menu.SetInnerText(text); return MvcHtmlString.Create(menu.ToString()); } 然后使用这个帮助器来渲染菜单项: <%: Html.MenuItem("about","About us") %> <%: Html.MenuItem("contact","Contact us") %> ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC如何在一个同步方法(非async)方法中等待async
- asp.net – 让visual studio autoformat成为我的源代码?
- asp.net-mvc – 如何使用linq-to-sql将存储过程结果映射到自
- asp.net-core – 具有Attributes的基于IP的授权策略
- asp.net viewstate加密问题
- asp.net-mvc – Visual Studio 2015异步变量未在调试器中显
- asp.net – 如何有效地使用Server.Transfer
- asp.net-mvc – 我应该选择云吗?
- 解析ASP.NET MVC使用Java中的Jackson JSON库返回日期
- asp.net – HTML敏捷包删除break标签关闭