【发布时间】:2018-05-12 06:55:36
【问题描述】:
我找不到任何方法将多个名称赋予 netcore20 中的单个标签助手(别名)到以下标签助手类定义
[HtmlTargetElement(Attributes = AttributeName)]
public class InDomIfTagHelper : TagHelper
{
private const string AttributeName = "idi,in-dom-if";
[HtmlAttributeName(AttributeName)]
public bool InDomIf { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
base.Process(context, output);
if (!InDomIf)
{
output.SuppressOutput();
}
}
}
我希望能够使用以下两种语法来引用我的标签助手
<li idi='false'>content</li>
<li in-dom-if="true">content2</li>
我做了一些研究并在 SO 上找到了诸如 this one 之类的帖子,但是这两个标签都需要(基本上是一个 AND 子句)。
我仍然尝试使用"idi,in-dom-if" 以及"[idi],[in-dom-if]" 定义我的Attributes 属性,最后一个实际上给了我一个错误:无效的标签助手绑定属性
Admin.TagHelpers.InDomIfTagHelper.InDomIf'。标签助手无法绑定到名为“[idi],[in-dom-if]”的 HTML 属性,因为该名称包含“]”字符。
我也试过这个"[name=idi],[name=in-dom-if]",我也在标签名称周围添加了引号......这些都不起作用。
由于我似乎找不到太多关于使用OR 子句定义标签助手属性名称的信息,我想知道这是否可能......
我想避免在两个不同的类中定义两次相同的逻辑,以便它们可以具有相同的名称。
这甚至可能吗?如果是,我该如何实现?
【问题讨论】:
标签: c# asp.net-core asp.net-core-tag-helpers