环顾了类似的标题,但没有任何意义或没有任何效果。我明白为什么会出现错误,我只是想弄清楚如何修复它以使用我的EditorForModel
. 我收到此错误:
传入字典的模型项的类型为“MyNameSpace.ViewModels.MyData+MyEnum”,但此字典需要“MyNameSpace.ViewModels.MyData”类型的模型项。
我的模型:
[UIHint("MyRadioButton")]
public MyEnum MyRadioRadioButton { get; set; }
//
//
public enum MyEnum
{
Choice1,
Choice2
}
我[UIHint]
用来调用一个名为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>
我想避免在上面的单选按钮列表编辑器模板中出现任何复杂的东西,因为那里还有其他东西(我去掉了所有多余的东西,但仍然出现错误)。我在不同的视图中多次使用特定的单选按钮列表(这就是为什么我想对其进行模板化而不是复制/粘贴)。有什么建议吗?