2

これまでに見たことのない単純なシナリオですが、同僚がヒットしたばかりです - MVC3

  1. アクション メソッド MyAction(int myProperty = 0) を作成します。
  2. プロパティ MyProperty を持つモデルを作成します
  3. このモデルのインスタンスを厳密に型指定されたビューに渡しますが、コードでプロパティを 10 に設定します (クエリ文字列パラメーターを使用しないでください!)
  4. ビューでは、Html.TextBoxFor(x => x.MyProperty)

これにより、テキスト ボックスに 10 が表示されます。

ここで、アクション メソッド MyAction?myProperty=8 を呼び出します。

これでもテキスト ボックスに 10 が表示されるべきではありませんか?

式によって検出されたプロパティをオーバーライドできることがわかりました。これは、それらが同じ名前 (Query Stringパラメーターとモデル プロパティ) であるためであると想定しています。その後、すべてが になりViewDataますが、一方が他方をオーバーライドします。

これは設計によるものですか?

4

2 に答える 2