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