使用实体集合更新模型

时间:2010-04-14 03:14:52

标签: asp.net-mvc entity-framework

有一组名为Book and Magazine的实体继承自抽象类PublishedItem。 PublishedItem具有以下属性:ID,名称,发布者,作者列表,类型列表。 Book实体具有ISBN属性,Magazine实体具有ISSN属性。我只是想问一下,如果我使用这些类型的一组复选框,我如何更新这本书或杂志的类型列表?

1 个答案:

答案 0 :(得分:3)

ASP.NET MVC操作接受数组作为参数。

[HttpPost]
public ActionResult EditGenres(string[] genres, int ID)
{
     PublishedItem item = GetPublishedItemByID(ID);
     item.Genres = genres.Select(x=> new Genre{ Name = x}); // this LINQ query just projects each string into a new genre. You can use w/e method you want to manipulate this string array into genres.

     return RedirectToAction("Success");
}

要填充数组,只需在表单字段中使用name属性的相同值。

<% Html.BeingForm() %>
   <input type="checkbox" value="Genre1" name="genres">
   <input type="checkbox" value="Genre2" name="genres">
   <input type="checkbox" value="Genre3" name="genres">
   <input type="checkbox" value="Genre4" name="genres">

   <input type="hidden" value="1" name="ID" />
   <input type="Submit" value="Submit Generes">
<% Html.EndForm() %>