سؤال

كيف يمكنني إنشاء عناوين المواقع الصديقة داخل ASP.NET MVC الإطار ؟ على سبيل المثال لدينا URL التي تبدو مثل هذا:

http://site/catalogue/BrowseByStyleLevel/1

1 هو معرف من دراسة المستوى (أعلى في هذه الحالة) إلى تصفح, ولكن أنا ليل مثل لإعادة URL في نفس الطريق ستاكوفيرفلوو يفعل ذلك.

على سبيل المثال هذين عناوين المواقع سوف يأخذك إلى نفس المكان:

https://stackoverflow.com/questions/119323/nested-for-loops-in-different-languages

https://stackoverflow.com/questions/119323/

تحرير: ودية جزء من url يشار سبيكة.

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

المحلول

هناك نوعان من الخطوات لحل هذه المشكلة.أولا إنشاء طريق جديد أو تغيير المسار الافتراضي لقبول معلمة إضافية:

routes.MapRoute(  "Default", // Route name
                   "{controller}/{action}/{id}/{ignoreThisBit}", 
                   new { controller = "Home", 
                         action = "Index", 
                         id = "",
                         ignoreThisBit = ""}  // Parameter defaults )

الآن يمكنك كتابة ما تريد في نهاية URI و التطبيق سيتم تجاهله.

عند تقديم وصلات, تحتاج إلى إضافة "ودية" النص:

<%= Html.ActionLink("Link text", "ActionName", "ControllerName",
                    new { id = 1234, ignoreThisBit="friendly-text-here" });

نصائح أخرى

هذا كيف نفذت الرصاصة URL على طلبي.ملاحظة: الافتراضي Maproute لا ينبغي تغييره و أيضا طرق معالجتها في الترتيب الذي تمت إضافتها إلى قائمة الطريق.

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home",
          action = "Index",
          id = UrlParameter.Optional
    } // Parameter defaults
);
routes.MapRoute("Place", "{controller}/{action}/{id}/{slug}", new { controller = "Place", action = "Details", id = UrlParameter.Optional,slug="" });

لديك مسار العالمية.asax

  routes.MapRoute(
                    "Default", // Route name
                    "{controller}/{action}/{id}", // URL with parameters
                    new { controller = "Home", action = "Index", id = ""} 
                    // Parameter defaults )

يمكنك تحديد المسار الخاص بك مثل :

هو وحدة تحكم فئة cs داخل وحدات تحكم مجلد.

يمكنك تحديد الهوية الخاصة بك - مع الاسم الذي تختاره.

نظام تمرير قيمة إلى actionResult الأسلوب.

يمكنك قراءة المزيد عن هذه الخطوة هنا : http://www.asp.net/learn/mvc/tutorial-05-cs.aspx

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