【发布时间】:2017-09-03 06:41:57
【问题描述】:
Tag Helper 是 Asp.Net Core 的一大亮点。我创建了几个标签助手,它们非常有用。
现在我想尝试一些更高级的东西。标签助手属性能够以属性值是模型属性的方式创建。
这方面的例子如下:
//model
public class MyModel{
public int MyField {get;set;} = 10;
}
//in the view
@model MyModel
...
<input asp-for="MyField" />
在上面的示例中,input 标记的 asp-for 标记帮助器指向模型中的一个属性。 documentation 表示
asp-for 属性值是一个 ModelExpression 和一个 lambda 表达式的右侧。因此,asp-for="Property1" 在生成的代码中变为 m => m.Property1,这就是为什么您不需要使用 Model 前缀的原因。
所以这很酷,并且相同的文档似乎将其称为“表达式名称”。
如何在我自己的自定义标签助手中创建这样的属性?
【问题讨论】:
标签: c# asp.net-core-mvc tag-helpers