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