asp.net-mvc - 以 Webforms Default.aspx 作为起始页的 ASP.NET MVC4

标签 asp.net-mvc asp.net-mvc-4 webforms asp.net-mvc-routing

我有一个 ASP.NET MVC4 应用程序,在 Global.asax.cs 中定义了以下路由。应用程序的起始页是从 Home Controller 的操作方法 Index() 返回的 Index.cshtml View 。然后,我添加了一个以 Default.aspx 作为起始页的旧版 ASP.NET WebForms 应用程序。如何将此 Default.aspx 页面作为此集成 MVC+WebForms 应用程序的起始页:

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

            routes.MapRoute(
                "Default",
                "{controller}.mvc/{action}/{id}",
                new { action = "Index", id = "" }
              );


              routes.MapRoute(
              "Root",
              "",
              new { controller = "Home", action = "Index", id = "" }
            );


        }

最佳答案

在 Global.asax 中尝试以下操作:

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

    // Web Forms default
    routes.MapPageRoute(
        "WebFormDefault",
        "",
        "~/default.aspx"
    );

    // MVC default
    routes.MapRoute(
        "Default",                          // Route name
        "{controller}/{action}/{id}",       // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional }  // parameter default
    );
}

此外,我认为您不需要 Default 路由的 .mvc 部分。

关于asp.net-mvc - 以 Webforms Default.aspx 作为起始页的 ASP.NET MVC4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21819051/

相关文章:

javascript - 如何将数据从ajax javascript传递到MVC Controller ?

c# - 在 !ModelState.IsValid 上重建嵌套的 ViewModel

c# - 有没有办法在 View 状态中存储匿名委托(delegate)?

html - 缺少底部的网络表单

javascript - 如果 2 个字段为空,则需要一条错误消息

asp.net-mvc - 可用的 MVC CSS 文件集合?

c# - 将服务引用传递给另一个服务层是不好的做法吗?

javascript - 从 Ui 调用 Controller 不起作用

asp.net-mvc - xVal 和 ASP.Net MVC 2 AddModelStateErrors 问题

jquery - 日期选择器将空值传递给 Controller