【问题标题】:Error when accessing anything but default route访问除默认路由以外的任何内容时出错
【发布时间】: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


    【解决方案1】:

    这似乎是 MonoDevelop 的 ASP.NET MVC 模板中的一个错误,正如 post 的 cmets 部分中所建议的那样。

    【讨论】:

    • 刚刚在 Visual Studio 中创建了一个 mvc 应用程序并进行了尝试。正如预期的那样,所有默认路由都有效,但我的自定义路由也没有。所以我猜这不是mono上的mvc模板的问题,而是实际路由的问题。
    • 您一定遗漏了一些东西,因为我在 Visual Studio 2008 中做了完全相同的事情,并且两条路线都按预期工作。
    • 对不起,当我在 Windows 上运行它时它起作用了。将其移至 mono+apache 后,它不起作用。
    【解决方案2】:

    原来这是单声道路由实现中的一个错误。

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

    【讨论】:

      猜你喜欢
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2021-07-24
      • 1970-01-01
      相关资源
      最近更新 更多