منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ASP.Net 2.0 URL Mapping
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
[SIZE=5]كاتب الموضوع Mohamed Gamal El-Din
[/SIZE]

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

تحيه طيبه الي إخواني الكرام

لازلت مؤمن انه يوجد الكثير والكثير في ال ASP.Net 2.0 الذي لا يعرفه الكثير منا , واليكم هذه الخاصيه الرائعه والتي تسمي Mapping .

تخيل معي هذا المثال.

اذا كان المشروع الذي نعمل فيه كبييير جدا, ون اجل تنظيم قمت بعمل Folders في المشروع
مثال

Folder لصفحات المشروع العاديه
Folder لصفحات ال Admin
Folder لصفحات ال Errors

اذا كان هناك صفحه مثلا داخل ال Admin Folder ستجد اللينك في ال Explorer هكذا

http://localhost......../Admin/Firstpage.aspx

اذن هناك مشكلتين هنا.

الاولي هي انك سمحت للمستخدم العادي للموقع ان يعرف كيفية تقسيم الصفحات ( اي اين تقع كل صفحه داخل المشروع ... وانتمم تعرفون انه هناك من يترقب خطأ واحد خصوصا لمبرمجي الويب )

الخطأ الثاني هو انك سمحت للمستخدم ان يعرف اساء الصفحات الاساسيه , علي الرغم من انها لن تفيده في شئ .. ولكن هذا يساعد المخترقين علي اختراق الموق, اي انه يستطيع ان يحذف كلمة FirstPage ويضع مثلا SecondPage اليكم ان تتخيلو ان هذا هو الواقع حتي الان ... ملايين من المواقع تغفل عن هذه النقطه.

حسنا انتهينا من عرض المشكله ... سنتجه الان للحل

الحل يكمن في ال ASP.Net 2005 Mapping
خلال ال Mapping يمكنك عمل Virtual Address لاي صفحه , باي اسم مستعار.

بمعني انه يمكنك الرمز ل Admin/Firstpage.aspx فقط باسم ^*&$%&&* وتقوم باستخدام هذا الاسم بدلا من استخدام الاسم الاصلي للصفحه , وسلملي علي اللي يعرف يفهم اساسا اسم الصقحه , ولا حتي موقعها بالنسبه للمشروع لامها ستظهر هكذا

http://localhost......../^*&$%&&*.aspx اي سيظهر الاسم الافتراضي فقط بدل من الاسم الاصلي , ولن يظهر اسم ال Folder الذي توجد فيه الصفحه.

كيف يتم عمل ذلك في الكود

بمنتهي البساطه كل ما عليك فعله هو الذهاب ال Config File ثم تضع اسم الصفحه الاصليه و الاسم الافتراضي لها داخل هذا الجزء.

كود :
<system.web>
    <urlMappings enabled="true">
        <add url="~Any Virtual Name" mappedUrl="~/Admin/FirstPage.aspx"/>
    </arlMappings>
</system.web>
وعندما تريد الانتقال من صفحه الي اخري مثلا ستكتب

كود :
Response.Redirect ( " Virtual Name.aspx");
كلمه اخيره: -

تامين المشروع اكثر صعوبه من عمل المشروع نفسه.فلا تستهترو به Big Grin

لا تنسونا بصالح الدعاء