ASP2.0 SizeMapPath 添加自定义属性(target)

公司项目需要添加栏目导航条的功能,很自然的就想到了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。其实通过这个方法还可以添加其他的属性。可以实现更多的效果,这里起个抛砖的作用。哈哈!

你可能感兴趣的:(target)