访问除默认路由外的任何内容时出错

时间:2009-05-02 11:16:27

标签: asp.net-mvc routing mono

我无法使用单声道工作路由。默认路由工作正常但没有别的办法。

这些是我设置的路线:

        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]

我在做一些明显错误的事情吗?

除了aditional路线,动作和视图,这是在Monodevelop中创建的标准asp.net mvc项目。

2 个答案:

答案 0 :(得分:1)

这似乎是MonoDevelop的ASP.NET MVC模板中的错误,如post的评论部分所示。

答案 1 :(得分:1)

事实证明这是单声道路由实现中的一个错误。

我在这里填写了一个错误报告:https://bugzilla.novell.com/show_bug.cgi?id=500739。 它现在已经修复,虽然我还没有尝试过。