C#MVC尝试使用路由设置root主页以覆盖外部库根路由

时间:2017-04-14 08:50:41

标签: c# asp.net .net asp.net-mvc routing

我的问题基本相同: Trying to setup root homepage using routing 我尝试过不同的MapRoute()变体,包括命名空间方法。

但解决方案(使用属性路由[Route("~/")])不适用于我,因为我有一个引用的dll(基本上是另一个持有我的登录和帐户控制器的项目)已经有[路由("〜/) ")]在自己的仪表板中。

当我在我的项目控制器中实现[Route("〜/")]作为根路由时,它被检测为重复: "找到了与URL匹配的多种控制器类型。"

我尝试继承父项目的仪表板控制器(带~/的控制台)并且不使用[Route("〜/")]在我的任何地方,但是它会产生与使用的ViewModel不匹配的其他问题,我不允许操纵它。

有没有办法去"隐藏" /"覆盖" /"忽略"来自我的父dll的根路由让我以root身份使用我自己的行为?

我也试图避免使用控制器工厂,因为我有其他几个引用的dll,将它们一个一个地添加它们是愚蠢的。

更新 我们的Global.asax(我们有相同的,它注册所有区域):

 public class Global : System.Web.HttpApplication
    {
        protected void Application_Start(object sender, EventArgs e)
        {
            AreaRegistration.RegisterAllAreas();

            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            ValueProviderFactories.Factories.Remove(
                ValueProviderFactories.Factories.OfType<JsonValueProviderFactory>().First());

            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new RazorViewEngine());

            SiteInitialization.ApplicationStart();
        }
...

0 个答案:

没有答案