باستخدام التوجيه في تطبيق ASP.NET Webform
-
19-09-2019 - |
سؤال
انا استخدم System.Web.Routing
في تطبيق ASP.NET Webform. كتبت الطريق التالي في global.asax
routes.RouteExistingFiles = true; // I made true/false both, but none works
routes.Add("competition", new Route
(
"Test",
new CustomRouteHandler("~/Test/WebForm1.aspx")
));
وهناكل الدليل هو ما يلي: -
تطبيق
|
| --- اختبار (مجلد)
|--- Webform1.aspx
عندما أكتب في المتصفح http://localhost:xxxx/Test/
(باستخدام Casini)، يتم التعامل مع الطلب بطريقة تقليدية وليس من خلال الطرق، ويعطيني صفحة "قائمة الدليل - / الاختبار /".
هل يمكن أن تساعدني؟
المحلول
كان لدي نفس المشكلة، واخترت الحل العملي أن الملف الذي يجب أن يتعامل مع المسار الافتراضي يسمى Default.aspx
routes.Add("competition", new Route ( "Test", new CustomRouteHandler("~/Test/Default.aspx") ));
نصائح أخرى
هل تستخدم التوجيه على الفور في المربع لشبكة WebForms، لقد قمت للتو بتنفيذ هذا ل "WebForms" على وجه التحديد، لأن هناك بعض الأشياء التي يجب أن تكون على دراية بها:
http://haacked.com/archive/2008/03/11/using-Routing-With-WebForms.aspx.
هذر
تحديث:
باستخدام التنفيذ في الارتباط لا يزال ينتج نفس الخطأ، نظرا لأن المجلد الفعلي موجود.
أعتقد أنه نظرا لأن المجلد موجود، سيتم تقديمه (في بعض الحالات يسرد محتويات المجلد قد يكون المرغوب فيه)
ربما يكون اتباع نهج مختلف سيكون أفضل على سبيل المثال، إذا كانت الصفحات تشير جميعها إلى صفحات تسجيل الدخول إلى إكسترانت محددة، فربما يعمل مجلد وصفي إضافي، على سبيل المثال: / Extrannets / اختبار /؟