【发布时间】:2015-09-18 10:12:46
【问题描述】:
我正在尝试使用路由模块将我的域 http://www.example.com/ 的根路径设置为 PersonSearch 控制器,但它似乎没有任何效果(404 错误)。
URL http://www.example.com/person/search 正确地将我带到所需的页面。
RouteConfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
"Root",
"",
defaults: new { controller = "Person", action = "Search" }
);
}
}
PersonController.cs
public class PesonController : Controller
{
[HttpGet]
[Route("person/search")]
public ActionResult Search()
{
PersonSearchViewModel psvm = new PersonSearchViewModel();
return View(psvm);
}
}
【问题讨论】:
-
切换路由配置怎么样?在基于属性的路由之前设置 Root routemap。
-
你的意思是改变代码中的顺序?移动 routes.MapMvcAttributeRoutes();在 MapRoute() 调用之后?
-
是的。并且也按照 Murilo 的建议去做,MVC 有必要理解 URL 的构造。
标签: c# asp.net-mvc asp.net-mvc-routing