Проблема enrutado в площадях используя MVC.Net

Я работаю в проекте, у которого есть слой презентации с несколькими Площадями, и меня затрудняет hace ты тестируешь приложение, так как драйверы и совещания, которые я разрабатываю, находятся в определенной площади.

Я искал информацию относительно работы с площадями, и в печаль, которая относительно определения площади совсем ясная, мне не удается установить, что после того, как инициализировал приложение, драйвер и назначенный по умолчанию вид, они были теми, что я показываю ему в конфигурации.

В файле RouteConfig.cs tego это:

using System.Web.Mvc;
using System.Web.Routing;
namespace XXX.Inv.Odin.Web
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            //routes.MapRoute(
            //    name: "Default",
            //    url: "{controller}/{action}/{id}",
            //    defaults: new { controller = "NegocioCompra", action = "Index", id = UrlParameter.Optional }
            //);

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                //defaults: new { controller = "NegocioCompra", action = "Index", id = UrlParameter.Optional }
                defaults: new { controller = "BusquedaInicial", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

И в площади, где я работаю, (хорошо Корень) у меня есть следующее:

using System.Web.Mvc;

namespace XXX.Inv.Odin.Web.Areas.BienRaiz
{
    public class BienRaizAreaRegistration : AreaRegistration 
    {
        public override string AreaName 
        {
            get 
            {
                return "BienRaiz";
            }
        }
        public override void RegisterArea(AreaRegistrationContext context) 
        {
            context.MapRoute(
                "BienRaiz_default",
                "BienRaiz/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

Здесь есть фотография, как схематизирован проект в браузере проектов:

introducir la descripción de la imagen aquí

У кого-то есть идея, состоящая в том, что я врежу?

2
задан 19.01.2017, 18:18
0 ответов

Ты AreaRegistration должен будь быть расположенной в порядке таким образом

public class ForumAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get { return "BienRaiz";  }
    }
    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "BienRaiz_default",
            "BienRaiz/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional },
            namespaces: new string[] { "BienRaiz.Controllers" }//referencia a los controladores de esta área
        );
    }
}

и в твоем RouteConfig

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        //defaults: new { controller = "NegocioCompra", action = "Index", id = UrlParameter.Optional }
        defaults: new { controller = "BusquedaInicial", action = "Index", id = UrlParameter.Optional },
        namespaces: new string[] { "XXX.Inv.Odin.Web.Controllers" }//haciendo referencia a los controladores del proyecto main
    );
}

Практически единственной, что тебе было нужно, является ссылка на драйверы каждого приложения.

3
ответ дан 03.12.2019, 17:37

Теги

Похожие вопросы