2009-05-02 52 views
1

我在路由工作在單聲道時遇到問題。默認路線工作正常,但沒有別的。訪問除默認路由以外的任何內容時出錯

這些路線我已經安裝:

 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中創建。

回答

1

看起來像在這個post的評論部分所建議的MonoDevelop的ASP.NET MVC模板中的錯誤。

+0

剛剛在visual studio中創建了一個mvc應用程序,並嘗試過。 正如所料,所有的默認路線都起作用了,但我的定製路線沒有。 所以我猜測它不是單聲道mvc模板的問題,而是實際路由。 – 2009-05-02 13:20:44