Web.SiteMap 是 VS2005中一个非常重要的特性. 可以用于菜单等应用,但企业的应用中经常需要控制到 菜单的 target ,菜单的权限等.

通过扩展一些自定义属性可以实现(此方法已经在E8.Net 2.0 工作流应用架构中实现)

sitmap 范例:
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例 <siteMapNode title="主页" url="Newmain.aspx" target="_parent" disenable="true" startIndex="1"  AdminIndex="9">
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例    
<siteMapNode title="我的桌面" img="skins/2004/images/icon/desktop.gif"  menuIndex="1"  url ="~\1.aspx">
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="待办事项" url="~\Forms\frmContent.aspx" description="待办事项"  targeturl="" />
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="我登记事件" url="~\Forms\frmWaittingContent.aspx?TypeContent=MyReg" description="我登记事件"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="出差授权" url="~\Forms\FrmAgentSet.aspx" description="出差授权"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="计算器"  url="~\Forms\Calculator.htm" description="计算器"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="万年历" url="~\Forms\wnl.htm" description="万年历"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="修改密码" url="~\Forms\FrmModuser.aspx" description="修改密码"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例    
</siteMapNode>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例    
<siteMapNode title="客户服务" img ="skins/2004/images/icon/sContacts.gif" menuIndex="2"  url ="~\2.aspx">
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="客户服务登记" resourceKey="1824" url="~\Forms\form_all_flowmodel.aspx?appid=1026" description="客户服务登记"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="客户服务跟踪" resourceKey="1811" url="~\AppForms\CST_Issue_List.aspx" description="客户服务跟踪"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="抱怨投诉登记" resourceKey="1825"  url="~\Forms\form_all_flowmodel.aspx?AppID=320" description="抱怨投诉登记"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="抱怨投诉查询" resourceKey="207"  url="~\AppForms\frm_BYTS_Query.aspx" description="抱怨投诉查询"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例      
<siteMapNode title="材料管理" resourceKey="1845" url="~\AppForms\frmMaterial.aspx" description="材料管理"/>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例    
</siteMapNode>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例..
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例  
</siteMapNode>
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例
</siteMap>

可以看到 这个sitmap中 有 target  diseable resourcekey ...等扩展属性 来实现菜单权限控制 及控制方式等

实现代码:
Visual Studio 2005中web.sitemap 中扩展自定义属性的一些应用范例 protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e)


依据同样的方法,可以扩展更多的自定义属性,达到对sitMap 非常丰富的控制和展示逻辑.
E8.Net 工作流 开源架构 提供了全部实现的源码, 2.0下所有应用系统菜单(OUTLOOK风格),实现来自 web.siteMap

欢迎访问更多精彩内容: http://www.feifanit.com.cn/productFlow.htm



相关文章: