Pau*_*lor 2 asp.net-mvc mvc-editor-templates razor-2
我有一个声明为类型的模型属性List<MyClass>.
public class MyModel
{
List<MyClass> MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我希望能够使用Razor模板显示/编辑属性.我的问题是,我如何命名EditorTemplate视图,以便我可以使用普通语法显示属性:
@model MyModel
@Html.DisplayFor(m => m.MyProperty)
Run Code Online (Sandbox Code Playgroud)
我知道我可以创建一个名为MyClass.cshtml的视图,用于该类型MyClass,但如何为列表创建模板?
您可以使用以下[UIHint]属性:
public class MyModel
{
[UIHint("TemplateForTheList")]
public List<MyClass> MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
或指定模板名称作为DisplayFor助手的第二个参数:
@model MyModel
@Html.DisplayFor(m => m.MyProperty, "TemplateForTheList")
Run Code Online (Sandbox Code Playgroud)
然后有一个TemplateForTheList.cshtml模板:
@model List<MyClass>
...
Run Code Online (Sandbox Code Playgroud)
在这种情况下,模板引擎不会为集合属性的每个元素呈现模板.它只是将集合本身传递给模板.
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |