我需要减少在我的视图中编写的html代码,因此我想创建一个帮助我的标记,但是我无法正确生成代码。
我想得到社区的一些帮助。
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label asp-for="Name"></label>
<input asp-for="Name" />
<span class="help-block">@Html.ValidationMessageFor(model => model.Name)</span>
</div>
</div>
</div>
上面的代码想转换成这样:
<input asp-for="Name" class="col-md-12" />
到目前为止我所拥有的:
[HtmlTargetElement("input", Attributes = "asp-for")]
public class InputTagHelperExtesions : TagHelper
{
public override int Order { get; } = int.MaxValue;
[HtmlAttributeName("asp-for")]
public ModelExpression For { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
base.Process(context, output);
if (!output.PreElement.GetContent().Contains("form-group"))
{
output.PreElement.AppendHtml("<div class=\"form-group\">");
output.PostElement.AppendHtml("</div>");
}
}
}
我认为我有一种方法可以使用更简单的代码完成此操作,而无需在我的帮助器标签中编写纯html,我在microsoft文档中查找了几篇文章,但我没有找到我正在查找的内容对