5

MVC 6 でのタグ ヘルパーの新しいサポートについて読んでいて、独自のタグ ヘルパーを作成する必要があります。既存の HTML 要素の組み込みタグ ヘルパーには、すべて「asp-」というプレフィックスが付いていることがわかります。

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

しかし、独自のカスタム タグ ヘルパーはどうでしょうか。また、サーバー上で実行されていることを示すために、「asp-」をプレフィックスとして付ける必要があります。それとも、これをフレームワーク属性用に予約する必要がありますか? 代わりに、独自のプロジェクト/会社名のプレフィックスを作成する必要がありますか?

私が見逃したこの主題に関するガイダンスはありますか?

4

2 に答える 2

5

既存の HTML 要素を対象とするタグ ヘルパーは、属性名の前にプレフィックスを付けて、属性が付加的でサーバー上で実行されることを示す必要があります。たとえば、組み込みの ASP.NET 5 タグ ヘルパーは、"asp-" プレフィックスを使用します。「asp-」プレフィックスは予約済みのプレフィックスとは見なされないため、開発者はその規則をコピーできます。一部のチームは、タグ ヘルパーを区別するために独自の命名規則を使用することを好みます。

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

<environment names="Development">

タグ ヘルパーの作成も参照してください。

于 2015-09-17T17:19:10.600 に答える
0

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

たとえば、AnchorTagHelperを見てください。ご覧のとおり、TargetElementAttributeこの TagHelper を標準の HTML a 要素に関連付けるために使用されます。

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

したがって、カスタム タグ ヘルパーには独自のプレフィックスがあります。

于 2015-09-16T09:28:32.880 に答える