ASP.NET2.0的导航系统确实给web开发带来方便,但是用过的用户就会发现导航系统有一个很大的缺陷:他需要你手工编写web.sitemap,web.sitemap的语法用语句流行话是“相当的简单”,但是实际运用时,虽然简单,但是稍微复杂的导航,你肯定出错。为什么?下面是一个简单的sitemap,
<siteMap>
<siteMapNode title="Home" url="~/default.aspx" >
<siteMapNode title="Introduction to ASP.NET" url="~/introduction/default.aspx">
<siteMapNode title="What's New in Whidbey?" url="~/introduction/whatsnew.aspx"/>
<siteMapNode title="Sample Applications (Starter Kits)" url="~/introduction/starterkits.aspx"/>
<siteMapNode title="Introduction to Visual Web Developer" url="~/introduction/vwd.aspx"/>
</siteMapNode>
<siteMapNode title="Building A Web Application" url="~/development/default.aspx">
<siteMapNode title="Building a Simple Application" url="~/development/simple/default.aspx">
<siteMapNode title="Introduction to ASP.NET pages" url="~/development/simple/pages.aspx"/>
<siteMapNode title="Introduction to Server Controls" url="~/development/simple/servercontrols.aspx"/>
<siteMapNode title="Inline vs Code Behind Pages" url="~/development/simple/codeseparation.aspx"/>
<siteMapNode title="Sharing Code Between Pages" url="~/development/simple/codedirectory.aspx"/>
</siteMapNode>
</siteMap>
说白了,他只是一些siteMapNode 的嵌套,但是嵌套的开闭呼应对人而言,绝对是一个烦点,但是对计算机来说,就喜欢处理这些简单的关系,所以我们可以编写一个文件,让系统自动检索当前应用程序的页面并自动生成导航。
miclae就写了一篇文章,我已经将他用C#改写并编译为DLL文件,现在 你只要把该DLL文件拷贝到你项目的bin目录下。并设置导航控件(menu,treeview)为引用该DLL,运行时,系统将自动根据你的目录文件自动生成导航系统。
当然,该DLL文件的功能远远不只这些,他会自动去掉APP_*和bin目录,如果你愿意,你完全可以在web.config里配制他,告诉dll 不要把某个目录进行现实等。
现在你在添加/删除文件时,再也不用修改web.sitemap
作者:gdgzboy@牛C网
地址:http://www.niuc.net/post/3012/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
Atlas编程揭密之数据绑定
ASP.NET FORUMS换肤流程
用程序登录Aps.Net页面
ASP.NET 2.0中Gridview控件高级技巧
Net环境下基于Ajax的MVC方案
ASP.NET中输入文本的HTML解析办法
ASP.NET WEB页面多语言支持解决方案
利用Rational对dotnet程序进行建模
利用ASP.NET 2.0客户端callbacks限制postbacks
教你简单方便获取Web设计的免费资源
ADO.NET2.0跟ADO.NET3.0的一些新特性简要介绍
ASP.NET底层架构探索之IE6的革新





