Прежде всего: Да, я читал о похожих темах в StackOverflow, но просто не могу нормально работать. Я перепробовал много вариантов и чувствую, что я действительно близок к решению, но, думаю, мне просто нужна последняя дополнительная рука помощи.
Итак, я работаю над приложением MVC, связанным с Формулой 1, и занята формой для редактирования профиля водителя. Водитель имеет 2 сложных типа: страна и команда.
Мне нужен выпадающий список, в котором каждая страна (или команда) представлена в виде одной простой строки текста.
В основном моя проблема заключается в передаче моего списка SelectItems в представление.
Жесткое кодирование элементов выбора в раскрывающемся списке не будет проблемой, но в моем случае это невозможно.
Код контроллера
Это кажется довольно прямым для меня.
Я использую аннотацию [UIHint] для ссылки на шаблон Editor.
EditDriver viewmodel
В окне «EditDriver» важен только следующий код:
@Html.LabelFor(d => d.Country);
@Html.EditorFor(d => d.Country, new { SelectItemsCountry = Model.SelectItemsCountry });
EditorTemplate CountryDropdown
с его моделью просмотра:
public class EditCountryVM
{
public Country DriverCountry { get; set; }
public IEnumerable<SelectListItem> SelectItemsCountry { get; set; }
}
Я получаю следующую ошибку во время выполнения:
{"Элемент модели, передаваемый в словарь, имеет тип 'System.Data.Entity.DynamicProxies.Country_6DD4DB52DA6163390B9DC52D80C4EE400184AA68D9D1FF3BC7C013D6725EDDB0', но для этого словаря требуется элемент модели типа 'rylyS_10.1_MM_ME_ME_ME_ME_ME_ME_MD).
Мне казалось, что дополнительный параметр объекта в Html.Editorfor объединит эти данные в моей модели представления, но это явно не так?
Ценю вашу помощь!
ура
Kevin