あなたが持っているものを確認すると、使用しているプロパティは PersonName だけです。マークアップ自体に関しては、それ以外はすべて古き良き HTML です。
したがって、何も交換する必要はありません。必要なのは、に依存するコンストラクタを持つことIHtmlGenerator
です。これは自動的に挿入され、モデルに基づいてさまざまなタグを生成できるようになります。
関連するIHtmlGenerator
署名:
public interface IHtmlGenerator
{
...
TagBuilder GenerateValidationMessage(
ViewContext viewContext,
string expression,
string message,
string tag,
object htmlAttributes);
TagBuilder GenerateLabel(
ViewContext viewContext,
ModelExplorer modelExplorer,
string expression,
string labelText,
object htmlAttributes);
TagBuilder GenerateTextBox(
ViewContext viewContext,
ModelExplorer modelExplorer,
string expression,
object value,
string format,
object htmlAttributes);
...
}
以上です!
基本的なタグをキャプチャするコードは次のとおりです。
[HtmlTargetElement("bootstraprow")]
public BootstrapRowTagHelper: TagHelper
{
protected IHtmlGenerator Generator { get; set; }
public InputTagHelper(IHtmlGenerator generator)
{
Generator = generator;
}
[HtmlAttributeName("asp-for")]
public ModelExpression For { get; set; }
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
//todo: write your html generating code here.
}
}
TagHelpers から Bootstrap HTML を生成するサンプル コードを含むリポジトリを次に示します。
https://github.com/dpaquette/TagHelperSamples/blob/master/TagHelperSamples/src/TagHelperSamples.Bootstrap/