ASP.NET MVC 3, как реализовать отношения многие ко многим в Create View - PullRequest
3 голосов
/ 14 мая 2011

У меня довольно сложный класс, который имеет три отношения «один ко многим» и два отношения «многие ко многим» с другими классами. То, что я хотел бы сделать, это дать пользователю возможность заполнить все детали по одному - за один шаг или даже лучше за несколько шагов (мастер).

Мой класс называется PeriodicTask - пользователь должен выбрать один объект Server (который представляет экземпляр SQL Server), и в зависимости от выбора мне нужно предоставить пользователю возможность выбрать, какие базы данных он хочет использовать (лучший вариант будет использовать флажки). Я действительно не знаю, как этого добиться.

Я бы начал с создания действия, которое возвращает JSON с базами данных для выбранного сервера. Это будет вызвано JQuery. Пока все хорошо, но что делать потом?

Должен ли я добавить <input type="checkbox"> в форму для каждой базы данных или, возможно, создать другую форму и опубликовать какое-либо другое действие? Как разобрать, когда форма отправлена? Можно ли как-то разбить его на более мелкие ступени? HTTP не имеет состояния, поэтому мне нужно как-то передать или запомнить ранее отправленные данные - как?

PS> Я использую Entity Framework здесь, поэтому часть иерархии классов выглядит следующим образом:

Class diagram

Ответы [ 2 ]

0 голосов
/ 17 мая 2011

Я бы посмотрел на создание помощников для каждого из вариантов, которые были бы самодостаточными, они могли бы сами поддерживать состояние.

Еще один крутой вариант - создать древовидное представление, где корневым уровнем является ваш сервер, а следующим уровнем - база данных.Загрузите данные в ViewModel, чтобы их можно было использовать в качестве источника данных для древовидного представления.Похоже, хороший интерфейс для того, что у вас есть.

Верьте или нет, сайт Microsoft - отличное место, чтобы начать изучать MVC

http://www.asp.net/mvc

0 голосов
/ 14 мая 2011

Вы можете сделать это так:

  1. Пользователь выбирает экземпляр сервера из DropDownList.
  2. После выбора выпадающего списка запускается событие «изменить», обработчик который загружает список баз данных в форму, используя ajax (ваше действие может предоставить флажки JSON или html)
  3. Пользователь выбирает флажки и нажимает кнопка отправки
  4. При отправке вы собираете отмеченный пункт и сообщение к действию используя JavaScript
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...