我的主页顶部有一个站点地图,当我在Firefox中运行时,第一个节点是"Skip Navigation Links"那是什么?我怎么能摆脱那个?值得注意的是,这不是在IE中.
我正在尝试使用SiteMapPath在我的网站上构建动态站点地图.
应该是这样的:
Home > Products > %product_name% > Prices
Run Code Online (Sandbox Code Playgroud)
where %product_name%在运行时动态设置,具体取决于用户的选择.
我已经阅读了很多关于这个主题的文章,并选择了这个http://harriyott.com/2007/03/adding-dynamic-nodes-to-aspnet-site.aspx.它动态更改web.sitemapXML文件.问题是它仍然只在开始时构建一次站点地图,然后在每个页面上使用它.
如何在每个加载的页面上重建它?
我希望我的ASP.NET站点有简单的菜单字符串aka Breadcrumbs.我创建了包含所有必需元素的Sitemap并注册到Web.config中.例如:
<siteMap>
<siteMapNode url="Default.aspx" title="Home" >
<siteMapNode url="hosting/Default.aspx" title="Hosting" />
<siteMapNode url="software/Default.aspx" title="Software">
<siteMapNode url="firefox/Default.aspx" title="Firefox">
<siteMapNode url="Download.aspx" title="Download" />
<siteMapNode url="Support.aspx" title="Support" />
</siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
Run Code Online (Sandbox Code Playgroud)
并在Masterpage上创建了一个控件.这是菜单生成代码:
protected void Control_Load(Object sender, EventArgs e)
{
string path = String.Empty;
StringCollection list = new StringCollection();
foreach (string str in Request.Url.Segments)
{
path += str;
string link = String.Format("<a href=\"{0}://{1}{2}\">{3}</a>", Request.Url.Scheme, Request.Url.Authority, path, this.names[str]);
list.Add(link);
}
foreach (string str in list)
{
menu += String.Concat(str, SeparatorLine);
}
menu = menu.Remove(menu.LastIndexOf(SeparatorLine)); …Run Code Online (Sandbox Code Playgroud) 我知道在htaccess但是如何使用web.config规则属性重写站点地图的URL.我尝试过以下方法,但都没有效果
<rule name="sitemap URL" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^/sitemap.xml$" /> - Not working
<add input="{HTTP_HOST}" pattern="^domain.com/sitemap.xml$" /> - Not working
<add input="{HTTP_HOST}" pattern="^www.domain.com/sitemap.xml$" /> - Not working
</conditions>
<action type="Rewrite" url="foldername/sitemaps/sitemap-a.xml" />
</rule>
Run Code Online (Sandbox Code Playgroud)
也试过了
<rule name="sitemap URL" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^.+\.(local|www)?(domain).+\.(?:xml)$" />
<action type="Rewrite" url="foldername/sitemaps/sitemap-a.xml" />
</rule>
Run Code Online (Sandbox Code Playgroud) asp.net web-config url-rewriting sitemappath url-rewrite-module