【发布时间】:2016-02-25 07:18:08
【问题描述】:
我使用 MVC 6 Tag Helper 创建了自己的锚标记。 如果我从属性中给出 innerHtml 但我想直接从 HTML 中给出 innerHtml,它工作正常。 这是我的自定义锚点的 TagHelper 代码
public string Text { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
var builder = new TagBuilder("a");
output.Attributes.Add("data-controller", Controller);
output.Attributes.Add("data-action", Action);
if (!string.IsNullOrEmpty(Text))
{
builder.InnerHtml.Append(Text); // INNER HTML IS HERE!!!
}
builder.AddCssClass("btn btn-link");
output.Content.SetContent(builder);
base.Process(context, output);
}
而且现在的用法是这样的(目前的情况——有效)
<anchor-box name="ALink" controller="A" action="D" text="© 2016 Murat"></anchor-box>
是否可以像下面这样手动提供内部 html 文本? (需要的情况 - 目前不起作用)
<anchor-box name="ALink" controller="A" action="D">© 2016 Murat</anchor-box>
【问题讨论】:
-
试了有结果吗?
-
当你说“手动提供内部 html 文本”时,你的意思是你想用类似 javascript 的方式来做吗?
-
当我尝试提供内部文本时,它不会以某种方式显示在输出中。我感觉 TagHelper 在生成标签后删除了 innerHtml。
标签: c# anchor asp.net-core-mvc tag-helpers