سوالف اندرويد




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > ASP و ASP.NET
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو جديد
#1  
Thumbs up إعادة توجية الصفحاتUrl Routing in Asp.Net

السلام عليكم ورحمة الله وبركاته .....

هذه أول مقالة لي في هذا المنتداء الحبيب وسوف أتحدث فيها عن إعادة توجيه الصفحات أي صفحات الpage.aspx وجعلها مثلا page/news/1 أو page.htm وهكذا ومن أهم الفوائد لهذه المقالة هي سرعة الفهرسة لمحركات البحث لصفحتك لان محركات البحث تفضل صفحات الhtm على aspx وتستطيع أيضا جعل رابطك مثل هذا( الموضوع page/) .
نبدا بحمد الله ....

أولا نقوم بإنشاء مشروع جديد بفجول استوديو 2008 بلغة الc#

ثم نقوم بفتح ملف الكنفج(web.confg) ونقوم بإضافة التالي:





كود:
<httpModules>  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule,System.Web.Routing,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35"/>  </httpModules>



طبعاً الوسوم <httpmodules> موجودة أنت فقط سوف تضيف الذي في الوسط وهو :



كود:
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule,System.Web.Routing,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35"/>  lture=neutral,PublicKeyToken=31BF3856AD364E35"/>


وأيضاً نضيف


كود:
<modules>  <remove name="UrlRoutingModule" />        <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule,System.Web.Routing,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35" />  </modules>


وأيضاً نضيف


كود:
<handlers>  
        <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </handlers>



ألان نذهب إلى قائمة website البرنامج ونضيف ملف Global.asax جديد.
تم نذهب إلى قائمة website مرة أخرى ونختار في هذه المرة add reference ونقوم باختيار المكتبة System.Web.Routing






بعدها نعود إلى ملف الglobal.asax ونستدعي المكتبة بالطريقة التالية :أعلى الصفحة...


كود:
<%@ Import Namespace="System.Web.Routing" %>


website وبعدها نقوم بإضافة كلاس من قائمة

تم add new item
تم class


ونقوم بتسميتها MemberRouteHandler.cs ونقوم بمسح كامل الكود الذي فيها ونضيف هذا الكود:


كود:
using System.Web.Compilation;  using System.Web.UI;  using System.Web;  using System.Web.Routing;  
  
  public interface IRoutablePage  {      RequestContext RequestContext { set; }  }  
  
  public class MemberRouteHandler : IRouteHandler  {      public MemberRouteHandler(string virtualPath)      {          this.VirtualPath = virtualPath;      }  
      public string VirtualPath { get; private set; }  
      public IHttpHandler GetHttpHandler(RequestContext            requestContext)      {          var page = BuildManager.CreateInstanceFromVirtualPath               (VirtualPath, typeof(Page)) as IHttpHandler;  
          if (page != null)          {              var routablePage = page as IRoutablePage;  
              if (routablePage != null) routablePage.RequestContext = requestContext;          }  
  
          return page;      }  
  }
بعدها نقوم بإنشاء مجلد جديد داخل الموقع ولنسميه مثلاً news ونضيف فيه صفحة جديدة.

نعود ألان إلى ملف global.asax ونقوم بحذف الكود التالي منه:


كود:
void Application_Start(object sender, EventArgs e)       {          // Code that runs on application startup  
      }


ونضيف بدلا منه الكود التالي:



كود:
void Application_Start(object sender, EventArgs e)      {          RegisterRoutes(RouteTable.Routes);  
      }  
  
      public static void RegisterRoutes(RouteCollection routes)      {  
          routes.Add("MemberList", new Route          (              "news/1",             new MemberRouteHandler("~/news/Default.aspx")          ));  
  
      }



حيث يعني أننا قمنا باستبدال اسم الصفحة default الموجودة داخل المجلد news بالاسم news/1 وهكذا ....

إذا أرتد تكرار هذا أي عمله لصفحة أخرى ما عليك سوى تكرار الكود التالي:




كود:
routes.Add("MemberList", new Route          (              "news/1",             new MemberRouteHandler("~/news/Default.aspx")          ));



طبعاً مع تغيير كلاً من أسم الصفحة وأسم البديل وأيضاً إعطاء متغير جديد (memberlist) أي قم بتغيير الاسم إلى أي اسم تريد.


بهذا نصل الى نهاية الجزء الاول من مقالتنا اذا نالت المقالة إعجابكم سوف نكمل الجزء الثاني إن شاء الله ....


لمزيد من الدروس يرجى زيارة موقع الفريق

http://www.aspnet4all.com


المثال موجود في المرفقات ....
.
.
.
والسلام عليكم ورحمة الله وبركاته...








الملفات المرفقة
نوع الملف: zip urlroting.zip‏ (5.6 كيلوبايت, 36 مشاهدة)
__________________

احمد طلال is offline   قديم 12-06-2011, 06:11 AM
الرد مع إقتباس
عضو جديد
#2  

شكرا جزيلا على الموضوع الجميل دة






ahmadramadan is offline   قديم 02-07-2011, 11:19 PM
الرد مع إقتباس
الرد على الموضوع



أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
مساعدة بعد توجية الروابط مجود الحفر تقنية محركات البحث Search Engine Optimization 5 07-05-2011 09:08 PM
لماذا يظهر خطا 404 في المواقع التي تستخدم asp.net routing خليل سليم ASP و ASP.NET 1 19-03-2011 07:28 AM
[product] توجية الزائر dr-coder الهاكات والإضافات 0 27-02-2009 11:16 PM
مشكلة توجية في شريط اخر المواضيع الـ 10 MR.NET الإصلاح والصيانة 2 06-12-2005 01:54 PM
مشكلة Mail Routing Error al-profisoor سوالف الاستضافة 9 13-06-2005 07:30 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 08:57 PM.