根據微軟的documention,我應該能夠在調用@ Html.DisplayFor時將匿名類型的對象作爲additionalViewData傳遞;然而,當我這樣做,我收到了黃屏指出:當使用DisplayExtensions.DisplayFor方法時無法將匿名對象作爲additionalViewData傳遞
The model item passed into the dictionary is of type 'System.Collections.Generic.List'1[Surveys2.Models.ReportingSidebarItemViewModel]', but this dictionary requires a model item of type 'Surveys2.Models.ReportingSidebarItemViewModel'.
這裏是我的部分觀點:
@model Surveys2.Models.ReportingPageViewModel
@Html.DisplayFor(m => m.Pages, "ReportingSidebarItemViewModel", new { PageType = Model.PageType })
這裏是我的控制器操作:
public ActionResult Summary(string projectCode)
{
ReportingPageViewModel reportingPageViewModel = GetReportingPageViewModel(new ReportingPageParams { ProjectCode = projectCode });
return View("Page", reportingPageViewModel);
}
誤差言自明,你而視圖需要單個對象作爲傳遞列表它是強類型到單個對象 –
但是,當我使用只有一個參數調用時,我沒有收到錯誤:@ Html.DisplayFor(m => m.Pages),即使第一個參數對於兩個重載都是相同的。 –
您能否顯示您的視圖的頂部和您的控制器操作代碼? –