您正在混淆布局和模板。布局是一个基本框架,用作所有视图的公共容器。模板(您应该寻找的)是一种显示特定(通常是特定)类型数据的方式。
有两种实现模板的基本方法。
第一个是将其定义为默认模板。这是通过一个简单的命名约定来完成的。只需确保您的 .cshtml 文件与您的实体类名称具有相同的名称并将其放在:
/Views/Shared/DisplayTemplates/.cshtml
之后,每当您想使用模板显示实体时,请使用@Html.DisplayFor()
帮助程序,相应地提供您的对象。
或者,如果您希望以不同的方式调用模板或不希望在每种情况下都使用模板,您可以使用[UIHint("TemplateName")]
实体上的属性或在 DisplayFor() 中传递模板名称来指定模板名称。
第二种方法是使用局部视图。您可以创建您希望如何显示数据和使用的部分视图@Html.RenderPartial("TemplateName", object)
在这两种情况下,都可以使用 VS 界面轻松创建 Template / Partial 视图:
- 右键单击要在其中创建模板的 DisplayTemplate(或其他位置)文件夹,然后单击
Add>View...
- 输入名称,检查
Create a strongly-typed view
- 选择合适的物件(如果找不到,以后可以手动做,但我建议至少选点东西来简化工作)
- 选择
Details
作为脚手架模板
- 选中该
Create as partial view
框
- 取消选中
Use a layout or master page
确保@model <Entity Name>
与您将传递的对象匹配,然后对它的显示方式进行任何修改。
享受!
-编辑-
注意:再次阅读您的帖子后,我意识到这可能不是您所要求的,但还不清楚。您能否更详细地解释您要达到的目标,而不是您要如何做到这一点?
您编写的代码片段实际上没有意义。