最新的Web开发教程
 

ASP.NET Web窗体 - 导航


ASP.NET还内置了导航控件


网址导航

维护一个大型网站的菜单是困难和耗费时间。

在ASP.NET菜单可以存储在一个文件,使其更易于维护。 此文件通常被称为web.sitemap ,并存储在Web根目录下。

此外,ASP.NET有三个新的导航控件:

  • 动态菜单
  • 的TreeView
  • 网站地图路径

站点地图文件

下面的sitemap文件在本教程中使用:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Home" url="/aspnet/w3home.aspx">
    <siteMapNode title="Services" url="/aspnet/w3services.aspx">
      <siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
      <siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
    </siteMapNode>
  </siteMapNode>
</siteMap>

创建sitemap文件的规则:

  • XML文件必须包含一个<siteMap>围绕该内容标记
  • <siteMap>标签只能有一个<siteMapNode>子节点(the "home" page)
  • <siteMapNode>可以有多个子节点(web pages)
  • <siteMapNode>有属性定义页面标题和URL

Note:站点地图文件必须放置在Web根目录和URL属性必须相对于根目录。


动态菜单

所述<asp:Menu>控件显示一个标准的站点导航菜单。

Code Example:

<asp:SiteMapDataSource id="nav1" runat="server" />

<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

<asp:Menu>上述的控制在该示例中为服务器创建导航菜单的占位符。

该控制的数据源是由定义DataSourceId属性。id="nav1"它连接到<asp:SiteMapDataSource>控制。

所述<asp:SiteMapDataSource>控制自动连接到默认站点地图文件( web.sitemap )

点击此处查看Menu,TreeView控件和SiteMapPath控件的演示


树视图

所述<asp:TreeView>控件显示一个多层次的导航菜单。

菜单看起来像,可以开启或关闭+或分支的树 - 符号。

Code Example:

<asp:SiteMapDataSource id="nav1" runat="server" />

<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

<asp:TreeView>上述的控制在该示例中为服务器创建导航菜单的占位符。

该控制的数据源是由定义DataSourceId属性。id="nav1"它连接到<asp:SiteMapDataSource>控制。

所述<asp:SiteMapDataSource>控制自动连接到默认站点地图文件( web.sitemap )

点击此处查看Menu,TreeView控件和SiteMapPath控件的演示


的SiteMapPath

SiteMapPath控件显示的线索(navigation path)到当前页面。 路径作为可点击的链接上几页。

不像TreeView和Menu控件SiteMapPath控件不NOT使用的SiteMapDataSource。 SiteMapPath控件默认使用Web.sitemap文件。

温馨提示:如果SiteMapPath没有正确显示,最有可能的原因是URL错误(typo)在Web.sitemap文件。

Code Example:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

<asp:SiteMapPath>在上面的示例性控制为服务器创建站点路径显示的占位符。

点击此处查看Menu,TreeView控件和SiteMapPath控件的演示