我有一个MVC单页网站,我有一个mvc.sitemap文件:
<mvcSiteMapNode title="Home" controller="Home" action= "Index">
<mvcSiteMapNode title="About" controller="Home" action="About"/>
</mvcSiteMapNode>
我想在此页面添加锚点链接,这是一个很好的方法吗?
<a href="@Url.Action("Index","Home")#services">services</a>
<a href="@Url.Action("Index","Home")#portfolio">Portfolio</a>
出于性能原因,我不希望在运行时编辑页面。
答案 0 :(得分:1)
1-添加xml节点的密钥
<mvcSiteMapNode title="portfolio" controller="Home" action= "Index" key="portfolio" />
然后编辑共享&gt;&gt;显示tamplates
然后像那样编辑 SiteMapNodeModel.ascx
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl`1[[MvcSiteMapProvider.Web.Html.Models.SiteMapNodeModel,MvcSiteMapProvider]]" %>
<%@ Import Namespace="System.Web.Mvc.Html" %>
<%@ Import Namespace="MvcSiteMapProvider.Web.Html.Models" %>
<% if (Model.IsCurrentNode && Model.SourceMetadata["HtmlHelper"].ToString() != "MvcSiteMapProvider.Web.Html.MenuHelper") { %>
<%=Model.Title %>
<% } else if (Model.IsClickable) { %>
<% if (string.IsNullOrEmpty(Model.Description)) { %>
<a class="page-scroll" href="<%=Model.Url%>"><%=Model.Title %></a>
<% } else { %>
<a class="page-scroll" href="<%=Model.Url%>#<%=Model.Key%>" title="<%=Model.Description%>"><%=Model.Title %></a>
<% } %>
<% } else { %>
<%=Model.Title %>
<% } %>
全部是