转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
剖析ASP.NET2.0导航功能之控制地图信息         ★★★★

剖析ASP.NET2.0导航功能之控制地图信息

作者:闵涛 文章来源:闵涛的学习笔记 点击数:695 更新时间:2009/4/23 10:33:57
  四、 用SiteMapPath控件显示Breadcrumbs

  SiteMapPath控件显示一个breadcrumb-它用于向用户显示他们在该站点结构中所处的位置。SiteMapPath控件的输出由下列三个因素决定:

  ·站点的结构,由站点地图定义,

  ·被访问的页面和

  ·SiteMapPath控件的属性值

  当访问一个有SiteMapPath控件的页面时,该SiteMapPath控件试图把页面的URL映射到定义在该站点地图中的一个站点地图结点的url值。如果找到一个匹配,该控件将上行遍历该结构到根部,并作下列输出:RootNode>ParentNode>...>ParentNode>CurrentNode。这里的CurrentNode是站点地图结点的标题-它用来映射当前页面请求的URL;RootNode和ParentNodes被作为超级链接生成,如果该站点地图结点有一个定义在该站点地图中的URL值。在"History Books"页面(Books/History.aspx)中的一个SiteMapPath控件将生成Home>Books>History,同时还分别生成超级链接形式的Home和Books,分别回指向Default.aspx和Books/Default.aspx。在访问Books/Default.aspx时,SiteMapPath生成Home>Books。

  非常清楚,SiteMapPath的输出既依赖于站点地图本身又依赖于正在被访问的页面。该SiteMapPath的输出可以被定制,通过该控件的属性。有一些标准Web控件格式的属性-BackColor,Font,ForeColor,等等-还有一些特定于SiteMapPath的设置,包括:

  u PathDirection-可以取两个值之一它们是RootToCurrent(缺省的)或CurrentToRoot。当取值为RootToCurrent,在"History Books"页面上的breadcrumb生成为Home>Books>History;当取值为CurrentToRoot,输出将是History>Books>Home。

  ·PathSeparator-指定用于分开breadcrumb中的每个结点的字符串;缺省为>

  ·RenderCurrentNodeAsLink-一个Boolean属性-它指定是否CurrentNode应该生成为一个链接;缺省为False。

  ·ParentLevelsDisplayed-一个整数值-它可以用于限制breadcrumb所显示树层结构的高度。缺省地,这个属性值是-1,这意味着没有限制;把它的值置为1,那么在"History Books"页面将生成breadcrumb Books>History。根不包含在内,因为SiteMapPath控件只是向上遍历到一个父级-从"History"到"Book"。

  ·ShowToolTips-如果一站点地图结点有一个描述值,那么该描述对于每一个breadcrumb结点被显示为一个提示文本,如果这个属性被设置为True(默认情况)。

  还有风格属性可用来设置BackColor,Font,ForeColor,等等-用于SiteMapPath控件的各个部分。可以使用NodeStyle属性来定制在breadcrumb中的结点的外观;可以使用RootNodeStyle和CurrentNodeStyle来进一步定制在breadcrumb中的第一个和最后一个结点。一般地,最简单也是最具有审美特点的来格式化该SiteMapPath控件的方法是使用它的"Auto Format"向导-这可以通过该控件的灵敏标签启动。

  五、 用模板定制生成的输出

  该SiteMapPath包含四个模板-它们允许进一步定制生成的输出。模板允许混合使用静态HTML标记,Web控件和数据绑定语法;如果你以前已使用了DataList或Repeater控件,那么你已对模板很熟悉了。在ASP.NET 2.0中的模板基本上同ASP.NET 1.x中的一样,除了ASP.NET 2.0引入了一些新的更精练的语法来数据绑定表达式外。例如,在ASP.NET 1.x中,你必须使用语法<%# DataBinder.Eval(Container.DataItem, PropertyName) %>来取得一列的值。而在ASP.NET 2.0中,这种老式的语法仍可以使用,但是你可以选择性地使用更短的版本<%# Eval(PropertyName) %>。

  默认地,SiteMapPath以常规超级链接方式生成根和父结点,这样当用户点击该链接时,他们可以在该控件层次树上快速地向上回退。然而,在把信息发送回用户前,你可能想做一些服务器端处理-也许你想要记录下用户要到哪里去或自动地保存他们在该页面所做的任何变化。可以通过使用一个模板和把该结点生成为一个LinkButton来实现这一功能。

  例如,如果你只想要把SiteMapPath的根结点生成为一个LinkButton,你可以用下面的标记来把一个<RootNodeTemplate>添加到SiteMapPath控件上:

<asp:SiteMapPath ID="SiteMapPath1" runat="server">
<RootNodeTemplate>
<asp:LinkButton ID="LinkButton1" runat="server"
Text='<%# Eval("title") %>'
CommandArgument='<%# Eval("url") %>'
OnCommand="LinkButton1_Command">
</asp:LinkButton>
</RootNodeTemplate>
</asp:SiteMapPath>
  这个标记添加一LinkButton控件到SiteMapPath-它的Text属性被分配给相应SiteMapNode的Title属性。当点击该LinkButton时,将导致一个回寄并且该控件的Command事件激发-这将激活LinkButton1_Command事件处理器。SiteMapNode的Url属性被通过CommandArgument属性传递到这个事件处理器。在这个事件处理器中,你可以做任何服务器端所需要的处理,然后通过Response.Redirect(e.CommandArgument)把用户引导到他们所请求的页面上去。


[C语言系列]NET 中C#的switch语句的语法  [系统软件]托拽Explore中的文件到VB.net的窗口
[系统软件]Boost库在XP+Visual C++.net中的安装  [常用软件]新配色面板:Paint.Net3.0RC1官方下载
[常用软件]用内建的“Net Meeting”聊天  [VB.NET程序]Henry的VB.NET之旅(三)—共享成员
[VB.NET程序]Henry的VB.NET之旅(二)—构造与析构  [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体
[VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET)  [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台