MVC4へのアップグレード中に問題が発生しましたが、他の誰かがこの問題を確認したかどうか、およびそれを回避する方法を考えていました。IDictionary、Dictionary、またはRouteValueDictionaryをアクションのパラメーターリストに配置するたびに、そのMVC呼び出しのルート値が渡されます。
この問題を再現するには、デフォルトのインターネットアプリケーション設定を使用してMVC4 Webプロジェクトを作成し、追加します。
IDictionary<string, object> myDictionary = null
インデックスコントローラのパラメータリストに移動し、メソッド内にブレークポイントを設定します。IDictionaryパラメーターにルート値がモデルバインダーによって入力されていることがわかります。
これをオフにする、またはこれを回避するにはどうすればよいですか?