应用程序是一个带有 RAZOR 视图引擎的 MVC3 应用程序。
这里使用的控制器是TestController。我正在使用嵌套视图。
基本视图(项目列表)是这样的,
//Listing.cshtml
@model ItemsList
@for (int i = 0; i < Model.Items.Count(); i++)
{
@Html.DisplayFor(x => x.Items[i], new { RowPosition = i})
}
这是项目的模板
//Item.cshtml
@model Item
@Html.DisplayFor(x=>x.HeaderText)
@Html.DisplayFor(x=>x, "ItemDetails")
这是项目详细信息的视图
//ItemDetails.cshtml
@model Item
@Html.DisplayFor(x=>x.Description)
所以,我试图将模型从 ITEM 模板传递到 ITEMDETAILS 模板。ItemDetails.cshtml 位于“Views\Test\DisplayTemplates”下。事实上,我已经尝试将它放在文件夹“Views\Shared”以及“Views\Shared\DisplayTemplates”下。但是 View 引擎似乎只是不接受它。
但是,此处的Microsoft 文档指出,视图引擎确实在 Controller\DisplayTemplates 文件夹中查找以使用使用的 TemplateName 获取 VIEW。