一部の入力データを表示する必要があるが、ユーザー入力に対して無効にする必要がある場合がいくつかある Web サイトに取り組んでいます。無効化された入力のデータはサーバーに送り返されないため、サーバーに送り返す非表示の入力を常に追加しました。そうすれば、データは null 値で上書きされませんでした。
無効な ListBox をレンダリングするときに問題が発生しました。とりあえず、その ListBox のコピーをレンダリングして、ユーザーに対して非表示にします。同じ結果を得るためのより良いアプローチはありますか?
説明するコード:
@*Works fine*@
@if (Model.OnEdit)
{
@Html.HiddenFor(x => x.Contract)
@Html.DropDownListFor(x => x.Contract,
Model.ContractList,
new { disabled = "disabled" })
}
@if (Model.OnEdit)
{
@*Otherwise the items will be updated to null*@
@Html.ListBoxFor(x => x.Items,
Model.ItemList,
new { @class = "hidden" })
@Html.ListBoxFor(x => x.Items,
Model.ItemList,
new { disabled = "disabled" })
}