編集投稿で変更日がデフォルトにリセットされるという問題がありました。モデル バインダーは、ビューの一部ではないプロパティを無視しているようです。@Html.HiddenFor(m => m.ModifiedDate) を追加するとすぐに、ポスト アクションに渡されるオブジェクトに元の値が含まれます。
このプロセスを通じてすべてのプロパティ値が保持されると考えていましたが、そうではないようです。モデルに sql データベースを使用していますが、現在のコンテキストでは一部のフィールドを編集できません。これは、元のデータの整合性を確保するために、編集できないすべてのプロパティに HiddenFor を使用する必要があるということですか?
もしそうなら、追加された新しいフィールドが自動的に含まれるようにする方法はありますか?
post メソッドの例
[HttpPost]
public ActionResult Edit(Customer customer)
{
//Some code here
}
そして景色
@model MyApp.Models.Customer
@{
ViewBag.Title = "Edit";
}
<h2>
Edit</h2>
@using (Html.BeginForm())
{
<fieldset>
@Html.HiddenFor(m => m.ModifiedData)
@*Some other fields*@
</fieldset>
<p>
<input type="submit" value="Save" />
</p>
}