一些背景知识:我创建了一个新的 ASP.NET MVC 3 WebApplication。然后我添加一个 Webforms 页面:~/ASPWebforms/Test.aspx
然后我在 Global.asax 文件中编辑路由,如下所示:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Test", "Test/", "~/ASPWebforms/Test.aspx");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
现在我在浏览器中输入http://localhost:54847/Test
,一切都按预期工作。
问题是所有其他链接看起来像这样:http://localhost:54847/Test?action=Index&controller=Home
我还尝试更改路线的顺序:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapPageRoute("Test", "Test/", "~/ASPWebforms/Test.aspx");
}
但随后http://localhost:54847/Test
将不再工作。
我期待链接http://localhost:54874/Test
转到~/ASPWebforms/Test.aspx
其他链接正常工作 mvc 样式{controller}/{action}/{id}
谢谢你的帮助!