添加 类 到标记助手 html 元素
Add classes to tag helpers html elements
第一次深入研究标签助手,但我无法从教程中理解我应该如何为每个元素定义 类?
[HtmlTargetElement("card")]
public class CardTagHelper : TagHelper
{
public string Title { get; set; }
public string Icon { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "CardTagHelper";
output.TagMode = TagMode.StartTagAndEndTag;
var sb = new StringBuilder();
sb.AppendFormat($@"
<div class='card custom-card'>
<div class='card-header'>
<div class='card-title'>
<i class='{Icon}'></i>
{Title}
</div>
</div>
<div class='card-body'>
</div>
<div class='card-footer'>
</div>
</div>");
output.PreContent.SetHtmlContent(sb.ToString());
output.Attributes.SetAttribute("class", "card-body");
}
}
none 这些作品,它仍然呈现在页面上
编辑
我想要的是内容将呈现为这样的东西
<card title="title" icon="icon">
// content
</card>
我不确定这是不是这样做的方式,或者我必须为卡片头部主体和页脚创建标签助手
喜欢
<card>
<card-header>
</card-header>
<card-body>
</card-body>
<card-footer>
</card-footer>
</card>
在查看导入时我注入了助手
@addTagHelper *, CardTagHelper
您遇到的问题在这里:
@addTagHelper *, CardTagHelper
此指令尝试注册在不存在的 CardTagHelper
程序集中找到的所有 tag-helpers。您的 tag-helper 没有被发现,因此也没有被 运行 找到,而您添加到 .cshtml 文件中的 HTML 完全没有受到影响。
您需要使用包含的程序集的名称CardTagHelper
:
@addTagHelper *, YourFullAssemblyName
第一次深入研究标签助手,但我无法从教程中理解我应该如何为每个元素定义 类?
[HtmlTargetElement("card")]
public class CardTagHelper : TagHelper
{
public string Title { get; set; }
public string Icon { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "CardTagHelper";
output.TagMode = TagMode.StartTagAndEndTag;
var sb = new StringBuilder();
sb.AppendFormat($@"
<div class='card custom-card'>
<div class='card-header'>
<div class='card-title'>
<i class='{Icon}'></i>
{Title}
</div>
</div>
<div class='card-body'>
</div>
<div class='card-footer'>
</div>
</div>");
output.PreContent.SetHtmlContent(sb.ToString());
output.Attributes.SetAttribute("class", "card-body");
}
}
none 这些作品,它仍然呈现在页面上
编辑
我想要的是内容将呈现为这样的东西
<card title="title" icon="icon">
// content
</card>
我不确定这是不是这样做的方式,或者我必须为卡片头部主体和页脚创建标签助手
喜欢
<card>
<card-header>
</card-header>
<card-body>
</card-body>
<card-footer>
</card-footer>
</card>
在查看导入时我注入了助手
@addTagHelper *, CardTagHelper
您遇到的问题在这里:
@addTagHelper *, CardTagHelper
此指令尝试注册在不存在的 CardTagHelper
程序集中找到的所有 tag-helpers。您的 tag-helper 没有被发现,因此也没有被 运行 找到,而您添加到 .cshtml 文件中的 HTML 完全没有受到影响。
您需要使用包含的程序集的名称CardTagHelper
:
@addTagHelper *, YourFullAssemblyName