Обновление модели с коллекцией сущностей - PullRequest
1 голос
/ 14 апреля 2010

Существует группа сущностей с именами Book и Magazine, которая наследуется от абстрактного класса ОпубликованоItem. Опубликованный элемент имеет следующие свойства: идентификатор, имя, издатель, список авторов, список жанров. Сущность Book имеет свойство ISBN, а сущность Magazine имеет свойство ISSN. Я просто хочу спросить, как я могу обновить список жанров книги или журнала, если я использую группу флажков для этих жанров?

1 Ответ

3 голосов
/ 14 апреля 2010

Действия 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() %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...