我想将MVC应用程序的默认页面mydomain.com/Views/Home/Index.chtml
更改为指向应用程序根目录mydomain.com/Default.aspx
中的另一个默认页面。
这是MVC默认MapRoute的默认配置。如何更改配置以指向mydomain.com/Default.aspx
?我是MVC的新手,我正在尝试理解RegisterRoutes函数的工作原理。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
答案 0 :(得分:1)
从URL Rooting in ASP.NET (Web Forms) - chsakell's Blog开始,在默认MVC路由之前添加:
routes.MapPageRoute("default", "", "~/Default.aspx");
您也可以使用过滤器完成此操作,但在Index
的{{1}}操作中进行重定向可能最简单。
HomeController
答案 1 :(得分:0)
我认为更清洁,更正确的方法是将您的aspx页面迁移到cshtml视图并将其作为默认路由添加到您的route.config
否则,解决方法是从默认路由重定向到aspx页面。
查看Scott的博客here
答案 2 :(得分:0)
您必须设置路由配置。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Admin", action = "Index", id = UrlParameter.Optional }
).DataTokens.Add("area", "AdminMaster");
此处AdminMaster为Area,Conttroller Name为Admin,Action Name为Index。 如果您在另一个区域中的默认页面,那么您还必须指定区域。
谢谢。