Как создать динамически изменяему форму создания сущности?

Например у меня есть два класса в модели



public class Book<br>
{<br>
public string Title {get;set;}<br>
public IEnumerable<Author> Authors {get;set;}<br>
}<br>
<br>
public class Author<br>
{<br>
public string FirstName {get;set;}<br>
public string LastName {get;set;}<br>
}<br>




Я хочу создать форму для создания новых книг, на которой можно сразу же добавлять по-одному несколько авторов. Как решаются такие задачи? Подскажите просто в какую сторону копать.
  • Вопрос задан
  • 3817 просмотров
Пригласить эксперта
Ответы на вопрос 2
@gleb_kudr
Если я правильно понял вопрос, то вы спрашиваете, как вам это организовать на фронтенде.
Вам нужно загуглить в сторону «js multiselect dropdown».
Ответ написан
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
ну решается это в mvc достаточно просто.
гуглить в сторону editor(view)template for custom object

в /views/shared/ создете папочку editortemplates

в ней кладете представление для редактирования вашей модели автор
@model YourApp.Models.Author
Html.EditorFor(model => model.FirstName)
Html.EditorFor(model => model.LastName)

в представлениях Create/edit там где хотите нарисовать контролы для полей автора из кастомного преставления выше пишете
Html.EditorFor(model => model.Author)

дальше, что Вам придётся сделать
для добавления первого автора сразу в форму Вам надо в представление create отдавать уже созданный обьект класса book
// http.get
public ActioResult Create()
{
Book newbook = New Book();
IEnumerable newbook.authors = new IEnumerabe();
newbook.authors.Add(new Author());
return View(newbook);
}

вам это снимет кучу гемора

дальше, вам таки понадобится жаба скрипт, добавляющий и удаляющий строки из dom елемента страницы передл отправкой его на сервер.
я рисовал свой костыль с помощью товарищей (но у меня цель — изучение mvc/html/js), можно поискать нужную библиотечку в nuget'ах.
ну или могу своим поделиться.

хотя у меня в планах уже есть написание видео курса о том как писать сложные приложения на mvc, а то рамки основ по mvc3/4 унылы донельзя и проходятся под пиво за полчаса.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы