2015-09-11 13 views
5

私はMVC 6のタグヘルパーの新しいサポートについて読んできましたが、今では独自のタグヘルパーを作成する必要があります。私は、既存のHTML要素は全て例えばカスタムASP.Net 5 MVC 6タグヘルパーにasp-プレフィックスを付ける必要がありますか?

「ASP-」が付いているため、タグのヘルパーに組み込まれていることを参照してください。 <a asp-controller="Home" asp-action="Index">Home</a>

しかし、どのような独自のカスタムタグヘルパーについて。これらの接頭辞に "asp-"を付けることで、サーバー上で実行されていることを示す必要があります。フレームワーク属性のために予約する必要がありますか?代わりに私自身のプロジェクト/会社を作成する必要がありますか?

この件に関するガイダンスはありますか?

+0

感謝を参照してください!うまくいけばそれはそれが再開されるのに十分です。私は実際に私が行く前に答えを知りたいと思って、私のカスタムタグヘルパーをすべて私のコードを通して後で変更する必要があるだけです。正直言って私は現時点でこれに関する正式なガイダンスはないと思う。 –

答えて

6

タグヘルパーexisting HTML elementsは、アトリビュートが付加的であり、サーバ上で実行されていることを示す接頭辞でアトリビュート名を付ける必要があります。たとえば、ビルドされたASP.NET 5のタグヘルパーは、 "asp-"接頭辞を使用します。 "asp-"接頭辞は予約済み接頭辞と見なされないため、開発者はその規約をコピーできます。チームによっては、タグヘルパーを区別するために独自の命名規則を使用する方が望ましいでしょう。

タグヘルパーがカスタム要素をターゲットにする場合、属性にはプレフィックスを付けるべきではありません。カスタム要素はサーバー上でのみ処理されるため、サーバー処理を表すために接頭語は必要ありません。良い例は、EnvironmentTagHelperです。次のマークアップは、新しいASP.NET Webアプリケーションによって作成されたViews/Shared/_Layout.cshtmlファイルからのものです。

<environment names="Development"> 

も編集@TaylorマレンためAuthoring Tag Helpers

+0

ありがとう、本当にあなたがプロジェクトをあまりにも遠くになる前に私のためにこれをクリアしていただきありがとうございます。 –

0

各TagHelperは、1つ以上の特定のHTML要素またはカスタムタグを対象としています。

例えば見AnchorTagHelperを取る、あなたが見ることができる、TargetElementAttributeは標準のHTMLを持つ要素をこのTagHelperを関連付けるために使用されます。

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

だからあなたのカスタムタグヘルパーは、独自の事前修正を持っています。

+1

これに関するMSのポリシーは、 "asp-"接頭辞を使用しても問題ないということです。私のTHのドキュメントに入っている私の答えを見てください。 – RickAndMSFT

+1

@ RickAnd-MSFTあなたの答えをありがとう:) –

関連する問題