.Net Core 2 以外でこの質問をしようとしています。
HTML を返すカスタム タグ ヘルパーでタグ ヘルパーを使用できますか?
" タグ ヘルパー内でタグ ヘルパーを使用したいと考えています。周りを見回しても、これを試みている人を見つけることができませんでした。私の使用している慣習が悪いのでしょうか、それともドキュメントが不足しているのでしょうか?
元。タグ ヘルパー A は、別のタグ ヘルパーを含む HTML を出力します。
以下のコンパイルエラーを解決するにはどうすればよいですか?
[HtmlTargetElement("tag-name")]
public class RazorTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
StringBuilder sb = new StringBuilder();
sb.Append("<a asp-action=\"Home\" ");
output.Content.SetHtmlContent(sb.ToString());
}
}
C# からタグ ヘルパーを処理する方法はありますか? または、タグ ヘルパーを使用して出力 HTML を再処理しますか? "
Taylor Mullen によるこのマーク付きのソリューションを試してみました。
var anchorTagHelper = new AnchorTagHelper
{
Action = "Home",
};
var anchorOutput = new TagHelperOutput("a", new TagHelperAttributeList(), (useCachedResult, encoder) => new HtmlString());
var anchorContext = new TagHelperContext(
new TagHelperAttributeList(new[] { new TagHelperAttribute("asp-action", new HtmlString("Home")) }),
new Dictionary<object, object>(),
Guid.NewGuid());
await anchorTagHelper.ProcessAsync(anchorContext, anchorOutput);
output.Content.SetHtmlContent(anchorOutput);
以下の受信エラー
There is no argument given that corresponds to the required formal parameter 'value' of 'HtmlString.HtmlString(string)'