إضافة مسارات Routes لموقعك

3333333
إضافة مسارات Routes لموقعك

تعرفنا في المقالة السابقة عن المسارات ووظيفتها والفرق بينها وبين الملفات الفِعلية على السرفر وسنتحدث في هذه المقالة عن طريقة إضافة مسار لموقعك.

إضافة مسارات Routes  لتطبيق ASP.NET WebForm

في تطبيقات Web forms ننشئ مسارات باستخدام دالة MapPageRoute الموجودة ضمن System.Web.Routing namespace.

نضيف المسارات داخل ملف Global.asax ونحرص على أن يتم استدعاء المسار في دالة Application_Start.

مثال، في الصورة التالية:

1

  1. نضيف الدالة التي ستحتوي على أنماط الروابط
  2. نضيف أنماط الروابط باستخدام دالة MapPageRoute
  3. نقوم باستداعاء الدالة رقم (1) من دالة Application_Start

في المثال السابق استخدمنا هذا النمط:

routes.MapPageRoute(“RouteForArticle”, “article/{id}/{title}”, “~/displayarticle.aspx”);

RouteForArticle –  اسم المسار (مهم في إنشاء روابط خارجية)

article –   اسم ثابت في كل الروابط ضمن هذا المسار

{id} – متغير خاص بالاي دي

{title} – متغير خاص بالعنوان

~/displayarticle.aspx –  الملف الفِعلي على السرفر

في هذه الطريقة سيتم توجيه كل الروابط إلى ملف واحد فقط وهو displayarticle.aspx. وفي الملف هذا يوجد التصميم + الكود لتنفيذ مهمة معينة. يعمل ملف displayarticle.aspx كقالب لكل الروابط (ستختلف الروابط والمحتوى ولكن القالب والشكل العام موحد).  مثلا كل الروابط التالية صحيحة:

http://localhost:4444/article/23/managing-accounts.aspx

http://localhost:4444/article/14/the-way-to-mars.aspx

http://localhost:4444/article/6/the-ability-to-handle-stress-and-time-management.aspx

ويمكنك أيضاً أن تضيف قيم افتراضية للنمط كالتالي:

routes.MapPageRoute(“RouteForArticle”, “article/{id}/{title}”, “~/displayarticle.aspx”, new RouteValueDictionary {{“id”,”1″},{“title”,”welcome”}});

 

 

 

إضافة مسارات Routes لتطبيق ASP.NET MVC

لإضافة مسار لتطبيق MVC نقوم بإضافة أنماط المسارات داخل ملف RouteConfig.cs ضمن دالة egisterRoutes كما هو موضح بالصورة

3

ثم نتأكد أن يتم استدعاء دالة RegisterRoutes من داخل ملف Global.asax كما في الصورة:

4

في حالة عدم استدعاء دالة RegisterRoutes الموجودة داخل ملف RouteConfig.cs من دالة Application_Start الموجودة داخل ملف Global.asax ستواجه:

  • خطأ HTTP Error 403.14 – Forbidden عند محاولتك للدخول للصفحة الرئيسية
  • خطأ HTTP Error 404.0 – Not Found عند محاولتك للدخول لأي صفحة فرعية

 

تعريف بسيط عن ملف Global.asax

ملف Global.asax يحتوي على الكود اللازم للتعامل مع الأحداث  events التي تحدث على مستوى النظام مثل بداية التطبيق  Application_Start انتهاء التطبيق Application_End بداية جلسة Session_Start نهاية جلسة Session_End وغيرها.  ملف Global.asax يجب أن يوضع بالمجلد الرئيسي للبروجكت root directory.

أثناء عَمَل التطبيق، يتم تحليل ملف Global.asax وتحويله إلى كلاسات .NET مشتقة من كلاس HttpApplication. تطبيقات ASP.NET مُعَدة بحيث أي محاولة لعرض أو تصفح محتوى ملف Global.asax من الروابط يتم رفضها. المستخدمين لايمكن لهم تحميل أو مشاهدة الكود الخاص بملف Global.asax.

للمزيد عن ملف Global.asax اقرأ هنا

المصدر:

https://msdn.microsoft.com/en-us/library/cc668201.aspx