我在路由工作在單聲道時遇到問題。默認路線工作正常,但沒有別的。訪問除默認路由以外的任何內容時出錯
這些路線我已經安裝:
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:值名稱控制器不匹配任何值。 at System.Web.Routing.RouteData.GetRequiredString(System.String valueName)[0x00000] at System.Web.Mvc.MvcHandler.ProcessRequest(System.Web.HttpContextBase httpContext)[0x00000] at System.Web.Mvc。 MvcHandler.ProcessRequest(System.Web.HttpContext httpContext)[0x00000] at System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(System.Web.HttpContext httpContext)[0x00000] at System.Web.HttpApplication + c__Iterator2.MoveNext()[0x00000] at System.Web.HttpApplication.Tick()[0x00000]
我在做什麼明顯錯誤?
除了附加的路由,動作和視圖,這是一個標準的asp.net mvc項目在Monodevelop中創建。
剛剛在visual studio中創建了一個mvc應用程序,並嘗試過。 正如所料,所有的默認路線都起作用了,但我的定製路線沒有。 所以我猜測它不是單聲道mvc模板的問題,而是實際路由。 – 2009-05-02 13:20:44