Посмотрел вокруг похожие заголовки, но ничего на месте или ничего не получалось. Я понимаю, почему я получаю ошибку, я просто пытаюсь выяснить, как я могу это исправить, чтобы использовать мой EditorForModel
. Я получаю эту ошибку:
Элемент модели, переданный в словарь, имеет тип
«MyNameSpace.ViewModels.MyData + MyEnum», но это
словарь требует модельного элемента типа
'MyNameSpace.ViewModels.MyData'.
Моя модель:
[UIHint("MyRadioButton")]
public MyEnum MyRadioRadioButton { get; set; }
//
//
public enum MyEnum
{
Choice1,
Choice2
}
Я использую [UIHint]
для вызова шаблона Editor с именем MyRadioButton.cshtml
. Теперь мое мнение также вызывает шаблон EditorTemplate, используя @Html.EditorForModel
. Это часть страницы просмотра, которая вызывает общий шаблон:
@Html.EditorForModel("BasicDetails")
Оба шаблона находятся в папке «/ Shared / EditorTemplates /».
Это шаблон MyRadioButton.cshtml
:
<td>
<div class="radio">
@Html.RadioButtonFor(m => m.MyRadioButton, "Choice1")<br />
@Html.RadioButtonFor(m => m.MyRadioButton, "Choice2")
</div>
</td>
Это BasicDetails.cshtml
(вызывается @Html.EditorForModel
выше):
@using MyNameSpace.ViewModels
@model MyData
<table>
@Html.EditorFor(x => x.FirstName)
@Html.EditorFor(x => x.LastName)
@Html.EditorFor(x => x.MyRadioButton) //This is where my error is thrown
</table>
Я хочу избежать чего-либо сложного в шаблоне редактора radiobuttonlist выше, потому что там есть другие вещи (я удалил все лишнее и все еще получаю ошибку). Я использую определенный radiobuttonlist несколько раз в разных представлениях (именно поэтому я хотел шаблонировать его, а не копировать / вставлять). Любой совет?