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
http://www.cnblogs.com/mqingqing123/archive/2006/09/04/494616.html