Asp.net core 我的自定义ASP.NET5MVC6标记帮助程序是否应该具有ASP前缀?

Asp.net core 我的自定义ASP.NET5MVC6标记帮助程序是否应该具有ASP前缀?,asp.net-core,asp.net-core-mvc,tag-helpers,Asp.net Core,Asp.net Core Mvc,Tag Helpers,我一直在阅读MVC6中对标记帮助程序的新支持,现在需要创建我自己的。我看到现有HTML元素的内置标记帮助器都以“asp-”作为前缀 例如: Home 但是我自己的自定义标记助手呢。我是否也应该在这些文件前面加上“asp-”以表明它正在服务器上运行。还是应该为框架属性保留该属性?我是否应该创建自己的名为prefix的项目/公司 关于这个主题,我有没有遗漏任何指导?每个TagHelper针对一个或多个特定HTML元素或自定义标记 例如,您可以看到,TargetElementAttribute用于将此

我一直在阅读MVC6中对标记帮助程序的新支持,现在需要创建我自己的。我看到现有HTML元素的内置标记帮助器都以“asp-”作为前缀

例如:
Home

但是我自己的自定义标记助手呢。我是否也应该在这些文件前面加上“asp-”以表明它正在服务器上运行。还是应该为框架属性保留该属性?我是否应该创建自己的名为prefix的项目/公司


关于这个主题,我有没有遗漏任何指导?

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

例如,您可以看到,
TargetElementAttribute
用于将此TagHelper与标准HTML a元素关联:

[HtmlTargetElement("a", Attributes = ActionAttributeName)]
//...
public class AnchorTagHelper : TagHelper
因此,您的自定义标记帮助程序有自己的预修复。

目标标记帮助程序应该在属性名称前面加上前缀,表明该属性是可添加的,并且在服务器上运行。例如,内置的ASP.NET 5标记帮助程序使用“ASP-”前缀。“asp-”前缀不被视为保留前缀,因此开发人员可以复制该约定。一些团队更愿意使用自己的命名约定来区分他们的标记助手

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

<environment names="Development">


另请参见

感谢编辑@Taylor Mullen!希望这足以让它重新开放。实际上,我真的很想知道答案,然后再把我的自定义标记助手全部放在我的代码中,以后只需更改它们。老实说,我认为目前没有任何官方的指导。微软的政策是可以使用“asp-”前缀。请参阅下面我的答案,它将进入我们的TH文档。@Rick和MSFT感谢您的回答:)谢谢,非常感谢您在我完成一个项目之前为我澄清这一点。