关于ASP.NET中面包屑(SiteMapPath控件)使用
来源:互联网 发布:美工详情页思路 编辑:程序博客网 时间:2024/05/25 18:10
一、根据站点地图Web.sitemap来显示面包屑(SiteMapPath控件):
1.首先要创建一个站点地图Web.sitemap,最好在根目录下,如果已经创建,那么直接在里面增加你需要添加面包屑的节点就行。SiteMapPath控件由多个节点组成,节点可分为以下3个类型:根节点、父节点、当前节点。站点地图里可随意添加,多少都行,但是要理清节点的“父子关系”!Web.sitemap中的代码如下:
<?xml version="1.0" encoding="utf-8"?><!--以下是面包屑1 --> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"><siteMapNode url="~/Index.aspx" title="首页" description=""><siteMapNode url="~/Company.aspx" title="公司介绍" description=""> <siteMapNode url="~/1.aspx?" title="公司简介" description="" /> <siteMapNode url="~/2.aspx?" title="公司目标" description="" /> </siteMapNode> <siteMapNode url="~/New.aspx" title="新闻中心" description=""> </siteMapNode> <siteMapNode url="~/Pruduct.aspx" title="产品中心" description=""> </siteMapNode> <siteMapNode url="~/Project.aspx" title="项目中心" description=""> </siteMapNode> <siteMapNode url="~/Join.aspx?" title="招聘英才" description="" > </siteMapNode> <siteMapNode url="~/About.aspx?" title="联系我们" description="" ></siteMapNode><!--结束上面的面包屑1--> <!--不同aspx页面的面包屑2--><siteMapNode url="#" title="**" description=""><siteMapNode url="#" title="**" description=""> ......</siteMapNode>......</siteMapNode><!--结束上面的面包屑2--></siteMap>
注意:
a.如果在url 属性值中,列出了不存在的 URL 或列出了重复的 URL,将导致请求Web 应用程序将失败。
b.如果在url 属性值中,添加了相关参数(如:url=”Second.aspx?id=1″),也有可能导致请求Web 应用程序将失败。
c.在url 属性值中,可以“~/”快捷键开头,该快捷键表示应用程序根目录。
2.插入控件<asp:SiteMapPath>控件,代码是:
<asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>
只要在你需要添加面包屑的aspx文件的那个具体位置添加上以上这段代码就可以实现。
3.关于面包屑(SiteMapPath控件)的一些属性介绍:
我可以通过很多可用的属性来控制面包屑(SiteMapPath控件)的表示以及单个的链接。下面的列表提供了这其中一部分属性(更详细的属性参看MSDN):
PathSeparator:让你能够用其他的字符作为链接的分隔符,而不用默认的大于号(>)。
PathDirection:让你能够按照从左到右的顺序显示路径;也就是说,从当前结点开始,从该点向右移动(RootToCurrent),或者首先显示当前节点,向右显示到达根节点的路径(CurrentToRoot)。
RenderCurrentNodeAsLink:用来表示当前节点是否被作为一个链接显示出来。这是一个布尔值。
PathLevelsDisplayed:让你能够指定需要显示的结构的层数。
ShowToolTips:用来表示当鼠标移动到一个链接上时,是否显示工具提示信息。工具提示信息在网站地图文件的节点描述属性里定义。
如:
<!--样式1--> <asp:SiteMapPath ID="SiteMapPath1" Runat="server"> <PathSeparatorTemplate> <asp:Image ID="Image1" Runat="Server" Width="20" ImageUrl="uploadfiles/0022.GIF" /> </PathSeparatorTemplate> </asp:SiteMapPath> <!--样式2--> <asp:SiteMapPath ID="SiteMapPath2" Runat="server" PathDirection="CurrentToRoot" PathSeparator=" <-- " > </asp:SiteMapPath> <!--样式3--> <asp:SiteMapPath ID="SiteMapPath3" Runat="server" SkipLinkText="Skip Menu" RootNodeStyle-Font-Names="Verdana" RootNodeStyle-ForeColor="Orange" RootNodeStyle-BorderWidth=2 > </asp:SiteMapPath> <!--样式4--> <asp:SiteMapPath ID="SiteMapPath4" Runat="server" PathSeparator=" :: "> </asp:SiteMapPath>
以下是关于一些网上资料的甄别:
1.网上有些资料说要配置Web.Config:
<system.web><siteMap defaultProvider="default" enabled="true"><providers><add name="default" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap" securityTrimmingEnabled="true"/></providers></siteMap></system.web><!--"defaultProvider="default"和"name="default""必须一样!siteMapFile="Web.sitemap"也不能少,不然程序找不到地图!-->
但是我发现我做这个项目的时候的开发环境(Visual Studio 2010)是不用的,不知道其他开发环境是不是也一样,也就写在这供大家参考咯。
2.网上有些资料说使用<asp:SiteMapDataSource>控件绑定数据,但是面包屑(SiteMapPath控件)有一个比较有意思的地方是,它不像Menu和TreeView控件那样需要使用SiteMapDataSource控件。 SiteMapPath控件在默认状态下与网站地图文件绑定在一起(也就是说它被放在应用程序的根里)。
二、在根站点地图中添加子站点地图文件来显示面包屑(SiteMapPath控件):
<!--待续-->- 关于ASP.NET中面包屑(SiteMapPath控件)使用
- ASP.NET高级中的SiteMapPath控件的使用
- ASP.NET - SiteMapPath Web 服务器控件概述
- ASP.NET - SiteMapPath Web 服务器控件概述
- ASP.NET站点导航SiteMapPath控件
- ASP.NET - SiteMapPath Web 服务器控件概述
- asp.net 站点导航(SiteMapPath)的配置与使用
- asp.net SiteMapPath 面包屑导航 web.config 配置多个站点地图
- ASP.NET MVC 在项目中使用面包屑导航
- .net控件--SiteMapPath
- .net控件--SiteMapPath
- ASP.NET - 如何:自定义 SiteMapPath Web 服务器控件的外观
- asp.net高级应用之站点导航SiteMapPath控件
- asp.net中的导航控件sitemappath具体使用方法
- ASP.NET高级应用之 (站点导航SiteMapPath控件)
- SiteMapPath 控件使用经验
- 关于SiteMapPath的使用
- asp.net sitemappath站点地图
- ADF 中 jsf jspx
- 在DedeCMS中建立采集点
- 2012-07-22
- (莱昂氏unix源代码分析导读-39)inode“资源”的获取和释放
- 编译原理 语法树 句柄 简单短语 短语
- 关于ASP.NET中面包屑(SiteMapPath控件)使用
- 使用QT实现MDI风格的主窗体
- Python学习笔记
- JSON 日期处理
- Python中使用正则表达式
- (莱昂氏unix源代码分析导读-40)inode“指向文件的内容”的读写
- Python运行执行模式
- Python 程序员的进化
- java中tcp多人对话的一个tcp例子