يوفر نظام التنقل ASP.NET 2.0 الراحة لتطوير الويب، لكن المستخدمين الذين استخدموه سيجدون أن نظام التنقل به عيب كبير: فهو يتطلب منك كتابة web.sitemap يدويًا، وصياغة web.sitemap هي الكلمات شائعة في العبارات "بسيطة جدًا"، ولكن في الاستخدام الفعلي، على الرغم من بساطتها، إلا أنك سترتكب أخطاء بالتأكيد مع التنقل المعقد قليلاً. لماذا؟ فيما يلي خريطة موقع بسيطة،
<siteMap>
<siteMapNode title="Home" url="~/default.aspx" >
<siteMapNode title="مقدمة إلى ASP.NET" url="~/introduction/default.aspx">
<siteMapNode title="ما الجديد في Whidbey؟" url="~/introduction/whatsnew.aspx"/>
<siteMapNode title="نماذج التطبيقات (مجموعات المبتدئين)" url="~/introduction/starterkits.aspx"/>
<siteMapNode title="مقدمة لمطور الويب المرئي" url="~/introduction/vwd.aspx"/>
</siteMapNode>
<siteMapNode title="إنشاء تطبيق ويب" url="~/development/default.aspx">
<siteMapNode title="إنشاء تطبيق بسيط" url="~/development/simple/default.aspx">
<siteMapNode title="مقدمة إلى صفحات ASP.NET" url="~/development/simple/pages.aspx"/>
<siteMapNode title="مقدمة إلى عناصر تحكم الخادم" url="~/development/simple/servercontrols.aspx"/>
<siteMapNode title="Inline vs Code Behind Pages" url="~/development/simple/codeseparation.aspx"/>
<siteMapNode title="مشاركة التعليمات البرمجية بين الصفحات" url="~/development/simple/codedirectory.aspx"/>
</siteMapNode>
</siteMap>
بصراحة، إنه مجرد تداخل لبعض siteMapNode، لكن فتح وإغلاق الاستجابة المتداخلة يمثل بالتأكيد إزعاجًا للبشر، ولكن بالنسبة لأجهزة الكمبيوتر، فإنها تحب التعامل مع هذه العلاقات البسيطة، حتى نتمكن من ذلك اكتب ملفًا يسمح للنظام باسترداد صفحات التطبيق الحالي تلقائيًا وإنشاء التنقل تلقائيًا.
كتب miclae مقالًا. لقد قمت بإعادة كتابته بلغة C# وقمت بتجميعه في ملف DLL. الآن تحتاج فقط إلى نسخ ملف DLL إلى دليل bin الخاص بمشروعك. وقم بتعيين عنصر التحكم في التنقل (القائمة، عرض الشجرة) للرجوع إلى ملف DLL. عند التشغيل، سيقوم النظام تلقائيًا بإنشاء نظام تنقل استنادًا إلى ملف الدليل الخاص بك.
بالطبع، وظائف ملف DLL هذا هي أكثر من هذه بكثير، حيث ستقوم تلقائيًا بإزالة دليلي APP_* وbin إذا أردت، يمكنك تكوينه في web.config وإخبار dll بعدم عرض دليل معين.
الآن لم تعد بحاجة إلى تعديل web.sitemap عند إضافة/حذف الملفات
http://www.cnblogs.com/mqingqing123/archive/2006/09/04/494616.html