我有家庭控制器和索引操作方法。以下网址
http://localhost/home/index
是否可以让它像下面那样工作
http://localhost/index.aspx
我正在尝试Global.asax中的代码,但不起作用
routes.MapPageRoute("MyPage", "create.aspx", "~/home/create");
路线配置
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("MyPage", "create.aspx", "~/home/create");
routes.MapRoute(
name: "Customized",
url: "{action}",
defaults: new { controller = "Home", action = "Default", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Reports",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Reports", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Default", id = UrlParameter.Optional }
);
}
答案 0 :(得分:3)
你应该使用MapRoute()而不是MapPageRoute(),因为你仍然指的是MVC控制器/动作:
routes.MapRoute(
name: "Default2",
url: "index.aspx",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
PS:请记住在其他可能最终干扰它的路线之前注册新路线。
答案 1 :(得分:0)
您无法正常执行非静态内容的 MapPageRoute 。如果您不想隐藏Controller
的路线,则Customized
已经执行此操作。如果您正在混合MVC + WebForms,您应该放弃本指南来了解如何配置您的路由。