我的自定义ASP.Net 5 MVC 6标签助手有一个asp-前缀



我一直在阅读MVC 6中对标签助手的新支持,现在需要创建我自己的标签助手。我发现现有HTML元素的内置标签帮助器都以"asp-"

为前缀。例如

:<a asp-controller="Home" asp-action="Index">Home</a>

但是我自己的自定义标记助手呢?我也应该前缀那些"asp-",以表明它是在服务器上运行。或者这应该保留给框架属性?我应该创建我自己的项目/公司命名前缀代替?

关于这个主题有什么我错过的指导吗?

针对现有HTML元素的标记帮助器应该在属性名前面加上一个前缀,表明该属性是可添加的,并在服务器上运行。例如,内置的ASP。. NET 5标签助手使用"asp-"前缀。"asp-"前缀不被认为是保留前缀,因此开发人员可以复制该约定。有些团队更喜欢使用他们自己的命名约定来区分他们的标签助手。

如果标签助手针对自定义元素,则属性不应该加前缀。自定义元素仅在服务器上处理,因此不需要前缀来表示服务器处理。一个很好的例子是EnvironmentTagHelper。下面的标记来自Views/Shared/_Layout。cshtml文件创建一个新的ASP。. NET web应用程序。

<environment names="Development">

请参见创作标签帮助器

每个TagHelper针对一个或多个特定的HTML元素或自定义标记。

为例,看看AnchorTagHelper,您可以看到,TargetElementAttribute用于将这个TagHelper与标准HTML元素相关联:

[HtmlTargetElement("a", Attributes = ActionAttributeName)]
//...
public class AnchorTagHelper : TagHelper

所以你的自定义标签助手有它自己的前缀

相关内容

最新更新