これは私が使用しているクラスです。私はdbの最初のアプローチを使用しました。asp.net mvcの特定のフィールドを更新するには
public partial class Ingredient
{
public int id { get; set; }
public string name { get; set; }
public string desc{ get; set; }
public byte is_deleted { get; set; }
public int Ingredient_Type_id { get; set; }
public int UOM_id { get; set; }
}
私はこのコードを持っています。このコードは、レコードを更新する足場のコードです。
public ActionResult EditDetails(Ingredient ingredient)
{
if (ModelState.IsValid)
{
db.Entry(ingredient).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.UOM_id = new SelectList(db.Unit_Of_Measurement, "id", "name", ingredient.UOM_id);
ViewBag.Ingredient_Type_id = new SelectList(db.Ingredient_Type, "id", "name", ingredient.Ingredient_Type_id);
return View(ingredient);
}
上記のコードでわかるように、レコードのすべてのフィールドが更新されます。ただし、name
フィールドとdesc
フィールドのみを更新したいとします。私はこれをどのようにするべきですか?私もこれをやっているので、説明も理解される新しいです。ありがとうございました。
をデータを編集するためには、常に[MVCのViewModelとは何ですか?](https://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc)というビューモデルを使用します。あなたのPOSTメソッドでは、IDに基づいてデータモデルを取得し、ビューモデルから必要なプロパティのみを更新します。 –