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

这些是我设置的路线:

        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

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

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

其他提示

这似乎是MonoDevelop的ASP.NET MVC模板中的一个错误,如发布

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top