查看類似的標題,但沒有任何內容在點上或沒有任何工作。我明白爲什麼會出現錯誤,我只是想弄清楚如何使用我的EditorForModel
修復它。我收到此錯誤:傳入字典的編輯器模板(單選按鈕列表)和模型項目類型爲[enum],但字典需要模型類型X
The model item passed into the dictionary is of type 'MyNameSpace.ViewModels.MyData+MyEnum', but this dictionary requires a model item of type 'MyNameSpace.ViewModels.MyData'.
我的模型:
[UIHint("MyRadioButton")]
public MyEnum MyRadioRadioButton { get; set; }
//
//
public enum MyEnum
{
Choice1,
Choice2
}
我使用[UIHint]
調用了一個名爲EditorTemplate MyRadioButton.cshtml
。現在,我的觀點還使用@Html.EditorForModel
來調用EditorTemplate。這是在調用通用模板查看頁面的一部分:
@Html.EditorForModel("BasicDetails")
兩個模板都在「/共享/ 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>
我想避免在上面的單選按鈕列表編輯模板任何複雜的,因爲有其他東西在那裏(我剝去了一切多餘的東西,我仍然得到錯誤)。我在不同的視圖中多次使用特定的單選按鈕列表(這就是爲什麼我想模板而不是複製/粘貼)。有什麼建議?
這不起作用。只要將代碼複製/粘貼到模板中即可。 – REMESQ 2012-02-25 14:59:41