我的MVC应用程序的路由映射突然中断。
下面是路由映射
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);
}以下是控制器代码
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public string Login()
{
return "Login";
}
}我可以使用http://localhost:49637/访问“索引”视图,但无法通过http://localhost:49637/Login访问“登录”视图。如果我尝试通过http://localhost:49637/Home/Login访问登录视图,它可以工作。
发布于 2011-09-23 16:27:35
您没有匹配的路由- 'http://localhost:49637/Login‘,因为您唯一的路由同时查找控制器和操作值,而您只传递了一个值,因此MVC试图将您路由到一个不存在的'Login’控制器。我还没有测试过,但是添加这样的东西应该可以解决你的问题-
routes.MapRoute(
"Login",
"Login",
new { controller = "Home", action = "Login" }
);请记住,asp.net MVC将使用它找到的第一个匹配路由,因此您需要在RegisterRoutes函数中将此路由放在“默认”路由之上。
https://stackoverflow.com/questions/7526105
复制相似问题