傳遞到詞典中的模型項的類型爲「System.Collections.Generic.Dictionary
2[CapacityPlanner2.Models.Segment, CapacityPlanner2.Models.Product]', but this dictionary requires a model item of type 'System.Collections.Generic.Dictionary
2 [System.Object的,System.Object的]MVC動態模型,以查看
我的視圖具有@model Dictionary<dynamic, dynamic>
我通過以下Dictionary<Project, Segment>
不應該那麼工作嗎?
我的部分觀點:
@model Dictionary<dynamic, Dictionary<dynamic, List<dynamic>>>
我的主要觀點
@model Dictionary<dynamic, Dictionary<dynamic, Dictionary<dynamic, List<dynamic>>>>
@foreach (var kvp in Model)
{
@Html.Partial("_part", kvp.Value)
}
我想補充的局部視圖,因爲我想重新使用它。但在此之前,一切正常。
請你能添加相關的HTML/jQuery和你的模型和控制器代碼? – rhughes
我一直在努力**很多**。我不認爲目前的MVC版本允許它。 –
這是一個協變問題。因爲它們是不變的,所以你不能爲'Dictionary'傳遞'Dictionary '。當你定義你的字典時,你可以使用'Dictionary ',並且仍然創建它由'Project'鍵和'Segment'值組成,然後將它傳遞給你的視圖。但是,無論何時,如果您覺得需要使用動態,請退後一步,真正考慮是否應該這樣做。如果真的沒有其他辦法,那麼也許你必須這樣做,但這非常罕見。盡一切努力去強烈打字。 –