После долгих поисков, поиска в стеке (?) И чтения блога я все еще не могу полностью решить проблему.Надеюсь, это сообщество экспертов может прийти на помощь!
Дано: Класс компании с полем ICollection (Компания может иметь много адресов).У каждого адреса есть несколько простых строковых полей.
Короткая версия:
Я хочу, чтобы пользователь мог добавить любое количество адресов компании.Сначала я хочу показать один набор текстовых полей адреса, а затем кнопку «Добавить еще один адрес».Javascript не проблема, а часть MVC.Если неясно, функциональность должна быть похожа на эту: http://www.mdelrosso.com/sheepit/index.php?lng=en_GB&sec=demo3
Мне нужно использовать функцию MVC EditorForModel (), что означает, что все конфигурации должны идти в шаблонах редактора.
Состояние такfar:
- Создан ViewModel для страницы редактирования компании (CompanyViewModel)
- Добавлен [UIHint ("Addresses")] в поле public ICollection Addresses {get;задавать;}
- Созданные адреса EditorTemplate
В шаблоне Addresses EditorTemplate при добавлении новой компании переданная модель имеет значение Null (в этом нет ничего удивительного).Как мне создать редактор для дополнительного адреса?Я пробовал несколько воплощений (используя Razor):
@Html.EditorFor(m => new Address());
, но не смог произвести что-либо даже удаленно работающее.(Точная строка выше выдает ошибку: «Шаблоны могут использоваться только с доступом к полям, доступом к свойствам, индексом одноразмерного массива или выражениями настраиваемого индексатора с одним параметром.»)
Спасибо за любые указатели!*
/ Виктор