MVC領域を使用してMVCアプリケーションを作成しています。現在、表示エリアには次のルートを使用しています。MVCルートで処理できるパラメータの数に制限はありますか?
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Display_default",
"Display/{controller}/{action}/{id}/{id2}/{id3}/{*id4}",
new { action = "Index", id = UrlParameter.Optional , id2 = UrlParameter.Optional, id3 = UrlParameter.Optional }
);
}
これは機能します。我々は我々が述べidはちょうど第四idパラメータに連結された後のURLに、しかし、任意のパラメータを、この私たちの現在の設定を追加することができます発見
public ActionResult _MyMethod(string id, string id2, string id3, string id4, string id5, string id6)
:しかし、私たちは、6つのパラメータを持つコントローラのアクションの必要性を発見しました。もはや、このルートに負荷をページを使用して、しかし
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Display_default",
"Display/{controller}/{action}/{id}/{id2}/{id3}/{id4}/{id5}/{*id6}",
new { action = "Index", id = UrlParameter.Optional , id2 = UrlParameter.Optional, id3 = UrlParameter.Optional }
);
}
:
は、我々はそうのように必要なパラメータの数を受け入れるようにルートを拡張しようとしましたありません。MVCルーティングにはマップ可能なパラメータの量に関するCAPがありますか?また、マップされたパラメータの数をid、id2、id3に縮小すると、すべてのオーバーフローがid3に連結されて再び動作することも発見しました。
誰でもこれに関する情報はありますか?
オプションのパラメータのすべてを作るよう
(クエリ文字列の制限を超えると、例外をスローう点まで) 。しかし、最後のパラメータだけが 'UrlParameter.Optional'としてマークされることがあります –
私の場合、なぜ私は必要な6つのパラメータを許可しないのでしょうか? –
'UrlParameter.Optional'をすべて削除しましたか?そしてなぜあなたは '{* id6}'で6番目のマークを付けましたか? –