これまでに見たことのない単純なシナリオですが、同僚がヒットしたばかりです - MVC3
- アクション メソッド MyAction(int myProperty = 0) を作成します。
- プロパティ MyProperty を持つモデルを作成します
- このモデルのインスタンスを厳密に型指定されたビューに渡しますが、コードでプロパティを 10 に設定します (クエリ文字列パラメーターを使用しないでください!)
- ビューでは、Html.TextBoxFor(x => x.MyProperty)
これにより、テキスト ボックスに 10 が表示されます。
ここで、アクション メソッド MyAction?myProperty=8 を呼び出します。
これでもテキスト ボックスに 10 が表示されるべきではありませんか?
式によって検出されたプロパティをオーバーライドできることがわかりました。これは、それらが同じ名前 (Query String
パラメーターとモデル プロパティ) であるためであると想定しています。その後、すべてが になりViewData
ますが、一方が他方をオーバーライドします。
これは設計によるものですか?