Htmlヘルパーを使用して作成されたビューのテキストボックスフィールドについて考えてみます。
@Html.TextBoxFor(m=>m.name, new {@value=ViewBag.x});
この場合、モデルで値(nullではない)を渡すと、テキストボックス、ViewBag.x、またはモデルオブジェクトで渡した値はどうなりますか?
Htmlヘルパーを使用して作成されたビューのテキストボックスフィールドについて考えてみます。
@Html.TextBoxFor(m=>m.name, new {@value=ViewBag.x});
この場合、モデルで値(nullではない)を渡すと、テキストボックス、ViewBag.x、またはモデルオブジェクトで渡した値はどうなりますか?
強く型付けされたヘルパーのプロパティをオーバーライドすることはできません。value
を使用する場合は、強く型付けされたヘルパーを忘れてくださいViewBag
。そのルートに行くと、それに従う必要があります:
@Html.TextBox("x")
x
コントローラアクションでViewBagに詰め込んだものはどこにありますか?
ViewBag.x = "foo";
強く型付けされたヘルパーはモデルを操作し、最初の引数として渡されたラムダ式を使用して値を取得します。
したがって、物事を適切に実行したい場合は、ViewBag
ビューモデルと強く型付けされたヘルパーを使用してください。
@Htlm.TextBoxFor(model => model.X)