65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Sitemap 和母版页的 ASP.NET 菜单

starIconstarIconemptyStarIconemptyStarIconemptyStarIcon

2.00/5 (5投票s)

2007年8月24日

2分钟阅读

viewsIcon

134611

downloadIcon

4557

使用 Sitemap 和母版页的 ASP.NET 菜单

引言

Asp.Net 菜单控件使用 Sitemap 数据源控件以静态或动态方式显示菜单,该控件在 ASP.Net 中使用站点地图控件。 在这里,我将解释如何使用站点地图控件显示菜单。

站点地图由一系列相关的 SiteMapNode 对象组成。 SiteMapNode 的关系构成一个层次结构。 该层次结构包含单个根节点,它是层次结构中唯一没有父节点的节点。 层次结构中的每个节点代表网站的逻辑部分。 每个部分可以具有标题、URL、描述等,这些由 SiteMapNodes 类的属性(Title、Url、Description 等)建模。

创建 Sitemap 文件

从 Visual Studio 2005,我们可以通过在解决方案资源管理器中右键单击网站,选择“添加新项”,然后选择“站点地图”图标来轻松创建站点地图文件。 创建的文件包含一些XML 元素。

元素可以具有许多属性。 以下是一些常用属性:

- title(指定部分标题)。

- url(指定部分 URL。 必须是唯一的)。

- description(指定部分描述。 用于 alt 属性)。

创建母版页。

通过在解决方案资源管理器中右键单击网站,选择“添加新项”,然后选择“母版页”图标来在我们的网站中创建一个母版页。 我将通过我们的菜单链接一些 aspx 页面。 因此,现在我们需要创建一些 .aspx 页面作为母版页的内容页。 我们可以通过右键单击母版页并选择“添加内容页”来创建 aspx 页面,然后重命名它。 在这里,我们将创建四个页面,即 Main.aspx、Menu1.aspx、Menu2.aspx 和 SubMenu1.aspx。

使用代码

完成此过程后,转到母版页并复制以下代码

<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
</asp:Menu>

<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
  </asp:contentplaceholder>

从以上代码可以看出,SiteMapDataSource 被设置为 asp:Menu 数据源。 然后将以下代码复制到站点地图文件。

<sitemapnode title="Main Page" description="Main Page" url="Main.aspx" />
  <sitemapnode title="Menu one" description="Menu one" url="Menu1.aspx" />
  <sitemapnode title="Menu Two" description="Menu Two" url="Menu2.aspx" />
  <sitemapnode title="SubMenu One" description="SubMenu One" url="SubMenu1.aspx" />
  </sitemapnode />
</sitemapnode />

现在运行项目…

就这样…

© . All rights reserved.