I have a class that contains two tagHelpers.

[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
}

One acts on the DIV and the other acts on the Buttons. I need to generate values in one of the tagHelpers(Div) and share them for other tagHelpers(Button).

There is a solution to this?

1 Answers

3
Morteza Djangjoo On Best Solutions

you must use TagHelperContext.items property.

This property is a collection of dictionary that can act as a place to share data between taghelpers.

[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"];
}