如何使用ASP.NET Web路由和站点地图

时间:2013-10-03 13:39:38

标签: asp.net vb.net sitemap

我在global.asax

中有这个
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)

    RegisterRoutes(RouteTable.Routes)

End Sub

Protected Shared Sub RegisterRoutes(ByVal routes As RouteCollection)

    ...        
    routes.MapPageRoute("aboutusRoute", "aboutus", "~/aboutus.aspx", True)
    routes.MapPageRoute("indexRoute", "index", "~/index.html", True)

    routes.MapPageRoute("archiveRoute", "archive/{year}/{month}","~/archive.aspx",True)
End Sub

然后在我的主页中,我有以下标记

<asp:SiteMapPath ID="SiteMapPath1" runat="server" Style="margin-left: 5px" ParentLevelsDisplayed="2" SiteMapProvider="SiteMapLinks">
                                    <PathSeparatorTemplate>
                                        <asp:Image ID="Image2" runat="server" ImageUrl="/chuktex/Images/Seperator.png"  style="margin-right:5px"/></PathSeparatorTemplate>
                                </asp:SiteMapPath>
                                <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

web.sitemap我有以下

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

    <siteMapNode url="~/home" title="Home"  description="Home">
      .
      .
      .
       <siteMapNode url="~/systemmaint/" title="System Maintainance"  description="System Maintainance" />
      <siteMapNode url="~/Login/" title="Login"  description="Login" />
      <siteMapNode url="~/Profile/" title="Profile"  description="Profile" />
      <siteMapNode url="~/archive/" title="Archive"  description="Archive" />
      .
      .
      .
    </siteMapNode>

</siteMap>

如果我点击指向systemmaint的链接,则siteMapPath正常工作,但是如果我点击存档链接,则无需提供帮助。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用RouteValueDictionary在global.asax中为参数“year”和“month”提供默认值。请查看以下文章了解更多详情:

http://karmic-development.blogspot.in/2013/10/url-routing-in-aspnet-web-forms-part-2.html

此外,如果您在页面中包含了一些javascript文件,则正常的src值可能无效。您需要提供javascript文件的src为

src='<%= ResolveClientUrl("~/resource/lightbox_plus_min.js") %>'

谢谢&amp;问候, Munjal