Asp.net MVC التوجيه غامضة ، طريقين في نفس الصفحة

StackOverflow https://stackoverflow.com/questions/70371

  •  09-06-2019
  •  | 
  •  

سؤال

أحاول الخروج ASP.NET MVC التوجيه و بالطبع تعثرت عبر مشكلة.لدي القسم /المشرف/صفحة/ ، وهذا هو أيضا يمكن الوصول إليها من خلال /Pages/ الذي لا ينبغي.ماذا يمكن أن يكون في عداد المفقودين ؟

توجيه التعليمات البرمجية العالمية.asax:

public static void RegisterRoutes(RouteCollection routes)
{
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            "Pages",    // Route name
            "Admin/Pages/{action}/{id}",  // URL with parameters
            // Parameter defaults
            new { controller = "Pages", action = "Index", id = "" }  
        );

        routes.MapRoute(
            "Default",   // Route name
            "{controller}/{action}/{id}",   // URL with parameters
             // Parameter defaults
            new { controller = "Home", action = "Index", id = "" }  
        );

    }

وذلك بفضل!

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

المحلول

أقترح إضافة صريح الطريق /Pages/ في البداية.

المشكلة هي أنه يجري التعامل معها من خلال المسار الافتراضي و الناشئة:

تحكم = "الصفحات" action = "Index" id = ""

التي هي بالضبط نفس المعلمات المشرف الطريق.

نصائح أخرى

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

P. S.إذا كنت تحاول تأمين الصفحات تحكم ، تأكد من استخدام [الإذن] السمة.لا تعتمد فقط على تخويل عنوان URL.

هل يمكن أن تضيف قيدا على القاعدة الافتراضية بحيث {المراقب} الوسم لا يمكن "الصفحات".

لديك في أول الطريق {العمل} رمزية/المعلمة الذي يحصل في الصراع مع تحديد الإجراء الافتراضي.حاول تغيير اسم المعلمة في الطريق أو إزالة الإجراء الافتراضي اسم.

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