我有一个ASP.NET MVC4应用程序,其中包含在Global.asax.cs中定义的以下路由.应用程序的起始页面是从Home控制器的操作方法Index()返回的Index.cshtml视图.然后,我添加了一个将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",id = UrlParameter.Optional } // parameter default ); }
另外我认为你不需要默认路由的.mvc部分.