النتائج 1 إلى 2 من 2

الموضوع: إعادة توجية الصفحاتUrl Routing in Asp.Net

  1. #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


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








    الملفات المرفقة الملفات المرفقة
    __________________



  2. #2
    عضو جديد
    تاريخ التسجيل
    Apr 2011
    المشاركات
    1


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










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض