سؤال

أبدأ منفذًا من ASP.NET Web Forms CMS إلى ASP.NET MVC وأريد الحصول على التوجيه مباشرة من البداية.

ملاحظة: ليس من المهم أن يكون لديك نفس هيكل عنوان URL.

أظن هذا الجواب قريب من ما أبحث عنه ولكن أود الحصول على بعض المدخلات الإضافية إذا كان لدى أي شخص.

يشبه استنشاق عنوان URL الحالي:

؟ content = news/currentNews/this_is_a_news_article
؟ المحتوى = الشركات/about_us/نظرة عامة

الخ

أرغب في إضافة Paramater لغة اختيارية والحفاظ على بنية مماثلة في MVC. لذلك شيء مثل:

الأخبار/currentnews/this-is-a-news-article
en/news/currentnews/this-is-a-news-article

تحرير/أخبار/currentnews/this-is-a-news-article
تحرير/en/news/currentnews/this-is-a-news-article

أم أنا أفضل مع العكس؟

الأخبار/currentnews/this-a-a-news-article/edit
en/news/currentnews/this-a-a-news-article/edit

أعتقد أن هذه الطريقة (مع الإجراء في النهاية) تعيد توجيه مسار لكل سيناريو من أسئلة أخرى قرأتها.

النقطة الأخرى هي أن عناوين URL الحالية تتم على هذا النحو لتوليد SEO و Crumb Bread. أي عنوان URL يعرض مسار التنقل الحالي.

يمكنني فقط إظهار الصفحة الحالية في عنوان URL وبناء فتات الخبز من قاعدة البيانات المنفصلة.

يحب:

en/this-is-a-news-article

مع فتات

الصفحة الرئيسية> الأخبار> الأخبار الحالية> هذا مقال إخباري

الأفكار والحلول العامة؟ هل يجب أن أبدأ بفئة توجيه مخصصة لتحقيق أقصى قدر من المرونة؟

هل كانت مفيدة؟

المحلول

يجب أن تتأكد من عدم وجود تداخل عرضي لبعض قواعد التوجيه. على سبيل المثال ، قل أنك تضع اللغة باعتبارها العلامة الأولى ، تأكد من عدم وجود فئات أخبار تحتوي على اسم. أعلم أن هذا مثال غبي ولكني أعتقد أنك تحصل على الصورة. تأكد من وضع قواعد التوجيه الأقل دقة.

أنا شخصياً سأبنيها مثل هذا:

[language]/[category]/[subcategory]/[itemtitle]/[itemid]

لماذا [itemId] قد تسأل؟ إذا كان لديك موقع ويب أكبر ، فقد يحدث أن لديك مقالتان إخباريان بنفس الاسم بالضبط. قد يكون الكود الخاص بك "يحدث فقط ليكون" لإظهار فقط أول الأخبار التي تم إرجاعها ، ولكن قد لا يكون كذلك. يعد المعرف دائمًا فريدًا وبداية كبار المسئولين الاقتصاديين ، إضافة المعرف ، لا يهم حقًا (في تجربتي على الأقل).

يمكنك إضافة مسار حيث يتم ترك [اللغة] ويتم توفير افتراضي بدلاً من ذلك.

أيضا ، كتب سكوت غوثري لطيف مشاركة مدونة من خلال هذا منذ فترة ، هذا بالتأكيد يستحق القراءة ، أعتقد أنه لا يزال صالحًا لـ MVC 3. قد يعطيك بعض الأفكار!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top