質問

ルーティングをモノで動作させるのに問題があります。デフォルトのルートは正常に機能しますが、それ以外の機能はありません。

これらは私が設定したルートです:

        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.

説明:HTTP500。リクエストの処理中にエラーが発生しました。

スタックトレース:

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プロジェクトです。

役に立ちましたか?

解決 2

これはモノルーティングの実装のバグであることが判明しました。

ここにバグレポートを記入しました: https://bugzilla.novell.com/ show_bug.cgi?id = 500739 。 そして、私はまだ試していませんが、修正されました。

他のヒント

この投稿

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top