У меня проблемы с настройкой маршрутизации на моно. Маршрут по умолчанию работает нормально, но больше ничего не делает.
Вот маршруты, которые я настроил:
routes.MapRoute(
"HelloRoute",
"Hello/{name}",
new { controller = "Home", action = "Hello" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
и на моем HomeController у меня есть соответствующее действие:
public ActionResult Index ()
{
ViewData["Message"] = "Welcome to ASP.NET MVC on Mono!";
return View ();
}
public ActionResult Hello(string name)
{
ViewData["Message"] = "hello "+name;
return View ();
}
Теперь, если я перейду к http://localhost/, я получу сообщение Добро пожаловать в ...
но если я перейду к http://localhost/Hello/World, я получу ошибку:
value name controller does not match any of the values.
Описание: HTTP 500. Ошибка обработки запроса.
Трассировка стека:
System.InvalidOperationException: контроллер имени значения не совпадает ни с одним из значений.
в System.Web.Routing.RouteData.GetRequiredString (System.String valueName) [0x00000]
в System.Web.Mvc.MvcHandler.ProcessRequest (System.Web.HttpContextBase httpContext) [0x00000]
в System.Web.Mvc.MvcHandler.ProcessRequest (System.Web.HttpContext httpContext) [0x00000]
в System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (System.Web.HttpContext httpContext) [0x00000]
в System.Web.HttpApplication + c__Iterator2.MoveNext () [0x00000]
в System.Web.HttpApplication.Tick () [0x00000]
я что-то делаю явно неправильно?
Помимо дополнительного маршрута, действия и вида, это стандартный проект asp.net mvc, созданный в Monodevelop.