3

最近、プロジェクトを MVC3 から MVC4 にアップグレードしましたが、それ以降、一部のアクション パラメーターが正しく渡されません。

アクションには次の署名があります。

public JsonResult FooAction(int id, int id2, string name, string name2, List<Object1> templates, Dictionary<string, string> dictionary1, Dictionary<string, List<string>> dictionary2);

JSON 呼び出しが空の配列を渡す場合:

"dictionary2":[]

次にdictionary2、ルートに設定されます。

{key = "controller", value = "MyController"}
{key = "action", value = "MyAction"}
{key = "id", value = "123123"}

明らかに、空の辞書にしたいのですが、この動作を防ぐ方法はありますか?

[編集] デフォルトのルーティング動作を使用していることに言及する必要があります。

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" } 
);
4

1 に答える 1