我有一个声明为类型的模型属性List<MyClass>
.
public class MyModel
{
List<MyClass> MyProperty { get; set; }
}
我希望能够使用 Razor 模板显示/编辑属性。我的问题是,如何命名 EditorTemplate 视图,以便可以使用正常语法显示属性:
@model MyModel
@Html.DisplayFor(m => m.MyProperty)
我知道我可以创建一个名为 MyClass.cshtml 的视图,该视图将用于该类型MyClass
,但是如何为列表创建模板?
你可以使用[UIHint]
属性:
public class MyModel
{
[UIHint("TemplateForTheList")]
public List<MyClass> MyProperty { get; set; }
}
或指定模板名称作为第二个参数DisplayFor
helper:
@model MyModel
@Html.DisplayFor(m => m.MyProperty, "TemplateForTheList")
然后有一个TemplateForTheList.cshtml
模板:
@model List<MyClass>
...
在这种情况下,模板引擎不会为集合属性的每个元素呈现模板。它只会将集合本身传递给模板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)