如何在标签助手之间共享数据?

how to share data between taghelpers?

我有一个 class,其中包含两个 tagHelper。

[htmlTargetElement("div")]
public class DivTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 //codes
}

[htmlTargetElement("button", ParentTag="div")]
public class ButtonTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 //codes
}

一个作用于 DIV,另一个作用于按钮。 我需要在其中一个 tagHelpers(Div) 中生成值并将它们共享给其他 tagHelpers(Button)。

有解决办法吗?

你必须使用 TagHelperContext.items 属性.

这个 属性 是一个字典集合,可以作为标签助手之间共享数据的地方。

[htmlTargetElement("div")]
public class DivTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 context.Items["myData"]="somethings";
}


[htmlTargetElement("button", ParentTag="div")]
public class ButtonTagHelper :TagHelpers {
public override void process(TagHelperContext context, TahHelperOutput output)
 string strName=context.Items["myData"];
}