【发布时间】:2012-06-22 13:09:34
【问题描述】:
一些背景:
我创建了一个新的 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}
感谢您的帮助!
【问题讨论】:
-
您期望的路线是什么? localhost:54847/Home/Index ?
标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing