是否可以指定显示或编辑模板的完整路径?
例如,我有以下模型:
public class ParentModel
{
public class ChildModel { get; set; }
}
我有一个ParentController
和一个ChildController
我希望将Child显示模板视图放在Views / Child / DisplayTemplates / ChildModel.cshtml中,将ParentModel.cshtml视图放在Views / Parent中/DisplayTemplates/ParentModel.cshtml。
现在它无法找到子显示模板,因为它正在查看Views / Shared和Views / Parent。
是否可以指定显示模板的完整路径或编写可指定要查看的文件夹的HtmlHelper?
答案 0 :(得分:3)
我找到了一种只有一个小缺点的方法:
@Html.DisplayFor(model => model.Child, "Child/ChildModel")
我创建了以下文件夹:
Views\Shared\DisplayTemplates\Child
并将ChildModel.cshtml
放在该文件夹中。这样做的缺点是它不再使用模型名称来确定模板名称,我想它也可能忽略了UIHint
,但它确实允许我更好地组织我的共享显示模板。