ASP2.0 SizeMapPath 添加自定义属性(target)
Posted on 2006-10-10 14:24
∈鱼杆 阅读(1843)
评论(2)
编辑
收藏 所属分类:
工作(Work)
公 司项目需要添加栏目导航条的功能,很自然的就想到了SiteMapPath控件(哈哈我更喜欢breadcrumb 面包屑这个名称)。但因为项目的需要某些链接需要在新的窗口打开链接。找了半天没发现SiteMapPath可以设置,在Web.sitemap中也没办 法定义。但想想在绑定数据的时候是否可以添加上这个属性,其实无非到最后都是一些HTML代码吗。经过尝试发现OK.
首先定义Web.sitemap文件(添加target属性):
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode>
<siteMapNode url="~/SiteMapPath/default.aspx" title="默认显示" description=""
target="_blank"> </siteMapNode>
<siteMapNode url="~/SiteMapPath/Add Target.aspx" title="ADD" description="" target="_blank">
</siteMapNode>
</siteMapNode>
</siteMap>
第二定义SizeMapPath 的 ItemDataBound的事件:
protected
void
SiteMapPath1_ItemDataBound(object sender, SiteMapNodeItemEventArgs e) { HyperLink hlk;
if
(e.Item.Controls[
0
] is HyperLink) { hlk
=
(HyperLink)e.Item.Controls[
0
]; hlk.Attributes[
"
target
"
]
=
e.Item.SiteMapNode[
"
target
"
]; } }
测试一下:ok。其实通过这个方法还可以添加其他的属性。可以实现更多的效果,这里起个抛砖的作用。哈哈!