Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)delvpublished in(发表于) 2014/1/6 8:48:35 ASP.NET,2.0站点地图搭建网站导航结构_[Asp.Net教程]
ASP.NET 2.0站点地图搭建网站导航结构_[Asp.Net教程] 二、 使用SiteMap的方式 你可以以三种常见方式来使用在前一节所创建的站点地图文件: · 使用SiteMapPath控件 · 使用SiteMap数据源控件 · 使用SiteMap类 这个SiteMapPath控件允许你生成breadcrumb。图3显示出什么是breadcrumb。
注意,web.sitemap文件的title和URL属性是怎样用于生成“breadcrumbs”的。另外,还要注意,父级是怎样随着当前页面标题一起显示的。试一试导航到各种页面并观察SiteMapPath控件。
四、 使用SiteMap数据源控件 站点地图的使用并不仅限于SiteMapPath控件。你还可以把站点地图依附到可导航控件(例如TreeView)上。在下列例子中,你将使用相同的站点地图文件来实现与一个TreeView控件的绑定。 把一个新的Web表单SiteMapDataSourceDemo.aspx添加到网站上。然后,把一个SiteMap数据源控件(SiteMapDataSource1)和一个TreeView控件(TreeView1)拖动到表单上。把这个TreeView控件的DataSourceID属性设置为SiteMapDataSource1。另外,还要把该TreeView控件的ShowLines属性设置为true。下面是SiteMapDataSourceDemo.aspx页面中的完整的标记:
五、 使用SiteMap类 在SiteMapPath或TreeView控件中显示站点地图数据效果太好了。然而,有时你可能需要设计定制生成逻辑。例如,你可能想开发一个定制的导航控件—它仅为了垂直地显示其父级。在这样的情况下,你需要以编程方式来存取这个站点地图文件。SiteMap类允许你准确地实现这一点。 这个SiteMap路径具有两个重要的属性:RootNode和CurrentNode。它们的类型都是SiteMapNode,并且它们都能使你分别参考站点地图的根结点和当前结点。表格7列举了SiteMapNode类的一些重要的属性。属性描述ChildNodes代表当前结点的所有子结点的集合HasChildNodes指示是否站点地图结点具有子结点(true/false)Title返回在站点地图文件中指定的title属性的值Url 返回在站点地图文件中指定的url属性的值Description 返回在站点地图文件中指定的description属性的值ParentNode指出当前结点的父站点地图结点的参考 表格7:SiteMapNode类的一些重要的属性 下面的示例使用了SiteMap路径来存取一个站点地图文件的单个结点。然后,以编程方式把它们添加到一个TreeView控件。 添加一个称为SiteMapCustom.aspx的Web表单。然后,把一个TreeView控件拖动到其上。把列表代码添加到这个Web表单的Page_Load事件:
六、 使用安全整修 经常情况下,网站都要实现基于角色的安全模式。例如,你可以在你的应用程序中具有不同的角色,例如系统管理员,产品测试员和服务测试员。在这样的情况中,你经常需要控制显示给用户的站点导航链接。例如,如果当前登录的用户属于产品测试员角色,那么你可能仅想显示与产品相联系的链接,而隐藏任何其它链接。一种处理角色的方法是使用手工编码,但是,它要求以编程方式实现所有的授权逻辑。幸好,站点地图文件和SiteMap数据源控件一起提供了一种称为安全整修的特征来帮助你。 为了测试安全整修,你需要启动你的网站的会员和角色特征。打开web.config文件并且在其中加入下列标记:
赞