ルーティングの問題が発生しています。デフォルトルートはうまく動作しますが、それ以外は何もしません。私が対応するアクション持っデフォルトルート以外のものにアクセスするとエラーが発生する
routes.MapRoute(
"HelloRoute",
"Hello/{name}",
new { controller = "Home", action = "Hello" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
と私にHomeController上:
これらは私が設定している経路である私はhttp://localhost/に移動した場合
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/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] System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(System.Web.HttpContext httpContext)の[0x00000] System.Web.HttpApplicationの[0x00000] + System.Web.HttpApplication.Tick()[0x00000]でc__Iterator2.MoveNext()[0x00000]
私は間違った何かをしていますか?
アクションルートとは別に、これはMonodevelopで作成された標準asp.net mvcプロジェクトです。
ビジュアルスタジオでmvcアプリを作成してみました。 期待どおり、すべてのデフォルトルートが動作しましたが、私のカスタムルートは動作しませんでした。 だから私はそれはモノではなく、実際のルーティングのmvcテンプレートでそれほど問題ではないと推測しています。 –
Visual Studio 2008でまったく同じことを行い、両方のルートが正常に動作したため、何かが不足しているはずです。 –
申し訳ありませんが、ウィンドウで実行したときに機能しました。 mono + apacheに移動した後、動作しませんでした。 –