モデルがあるとします:
public class HashTable {
public string sKey { get;set; }
public string sValue { get:set; }
}
次に、ビューでレンダリングします。
<div>Please enter the key/value pair:</div>
@Html.LabelFor(h => h.sKey, "Key");
@Html.TextBoxFor(h => h.sKey);
@Html.LabelFor(h => h.sValue, "Value");
@Html.TextBoxFor(h => h.sValue);
次に、コントローラーに保存します。
db.HashTable.Add(themodel);
次に、ビューでそれを思い出しますが、値を変更したいだけです:
<div>Please enter the value:</div>
Key: @Model.sKey
@Html.LabelFor(h => h.sValue, "Value");
@Html.TextBoxFor(h => h.sValue, Model.sValue);
次に、それをコントローラーに送信します。問題は、私が行う場合です:
db.Entry(oldmodel).CurrentValues.SetValues(themodel);
ビューに要素がないため、「キー」フィールドをnullにします。
これは、チケットの状態に基づいて特定のフォーム フィールドがビューに表示される場合と表示されない場合がある非常に複雑なシステムの非常に単純な例です (コードはすべて正確ではない可能性があります)。私が本当に必要としているのは、フォーム フィールドがビューに表示されない場合、データベースで更新されないようにする方法です。何か案は?前もって感謝します!