سؤال

المذكورة stackoverflow فقط كمثال ، ولكن إذا نظرت فوق عنوان URL للسؤال

http://stackoverflow.com/questions/ask

وهو ما يعني /طرح هو دليل فرعي ، لكنهم يقومون بذلك أيضًا للحصول على صفحات الأسئلة المحددة. كيف ترمز هذا في .NET؟

ليس سؤال رمز بقدر تقنية. أعلم أن هذا أمر رائع بالنسبة لكبار المسئولين الاقتصاديين ، ولكن كيف يمكنك إنشاء موقع بحيث تكون كل "صفحة" دليلها الخاص؟ ديناميكيا.

هل لديك قالب أو إعادة توجيه خفية ؟؟؟

كيف؟؟ قون

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

المحلول

يطلق عليه إعادة كتابة عنوان URL:

إعادة كتابة عنوان URL مع ASP.NET

MSDN: URL إعادة كتابة في ASP.NET

تعديل: كما يشير Justice ، يستخدم StackOverflow التوجيه.

نصائح أخرى

يستخدم Stackoverflow شيئًا يسمى التوجيه ، والذي يأتي مع .NET 3.5 SP1. يعد التوجيه ميزة شائعة لعدد من أطر MVC ، مثل ASP.NET MVC و Ruby on Rails وعدد من أطر Python و PHP.

تم تصميم STACK Overflow باستخدام ASP.NET MVC والذي يستخدم تقنية تسمى التوجيه ، انظر:

ما الذي تم بناؤه مكدس فائض؟

و التوجيه

مكدس الفائض استخدامات ASP.NET MVC

يستخدم MVC سلسلة url + query لتحديد المحتوى ، لذلك ليس مثل عنوان URL الذي يشير إلى صفحة معينة ، ولكن أشبه بالمسار الهرمي لخصائص بعض البيانات التي سيتم عرضها

على سبيل المثال https://stackoverflow.com/users/ Budapput معرف المستخدم هنا]/[وضع اسم المستخدم هنا

يطالب موقع الويب بعرض مستخدم بمعرف محدد في المسار (في هذه الحالة ، ربما يكون اسم المستخدم للركلات) بدلاً من صفحة محددة تم إنشاؤها فقط لهذا المستخدم.

لقد رأيت هذا تم إنجازه ببساطة عن طريق إنشاء مجلد لكل صفحة ويب ثم وجود كل مجلد يحتوي على وثيقة افتراضية. aspx (على افتراض أن الإعداد الافتراضي. aspx يتم إعداده كمستند افتراضي في IIS ، وهو افتراضيًا). ثم يمكنك الانتقال إلى أي مجلد على الموقع دون تحديد الصفحة (default.aspx).

بالنسبة للجزء الديناميكي ، عملت مع أنظمة CMS التي تقوم بذلك على هذا النحو وصفحة الافتراضية. aspx ببساطة من بعض القالب الرئيسي ويستخدم نظام CMS Enginge ASP.NET لإكمال صفحة الويب ديناميكيًا.

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

هذه هي الطريقة التي أقوم بإنشائها موقع الويب الخاص بي وتجنب الاضطرار إلى استخدام أسماء الصفحات ... على سبيل المثال http://www.innovaapps.net/blog ببساطة يقدم صفحة Default.aspx دون الحاجة إلى تحديد اسم الصفحة.

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