【发布时间】:2009-05-02 11:16:27
【问题描述】:
我无法让路由在单声道上工作。默认路由工作正常,但没有其他工作。
这些是我设置的路线:
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]
我做错了什么吗?
除了额外的路由、动作和视图之外,这是一个在 Monodevelop 中创建的标准 asp.net mvc 项目。
【问题讨论】:
标签: asp.net-mvc routing mono