ビューでは、私はこのオーバーロードを使用していますHtmlHelper.TextBox:
public static MvcHtmlString TextBox(
this HtmlHelper htmlHelper,
string name,
Object value
)
ドキュメントには次のように記載されています。
価値
タイプ:
System.Objectテキスト入力要素の値。この値が
nullの場合、要素の値はオブジェクトから取得されViewDataDictionaryます。そこに値が存在しない場合、値はModelStateDictionaryオブジェクトから取得されます。
このオーバーロードを呼び出すときにを提供しますvalueが、この値はnullではありません。ModelStateDictionaryそれでも、テキストボックスの値は、テキストボックスが存在する場合は常にそこから取得されます。
テキストボックスにインラインで提供された値を使用させるには、最初にコントローラーでモデルをリセットする必要があります(または、キーコレクションからテキストボックスの名前のキーを削除します)。
同じことが、によってレンダリングされる他のコントロールにも当てはまりますHtmlHelper。
私の理解はどこが間違っていますか?それとも、それはドキュメントのバグですか?