加入多个taghelpers asp.net核心

时间:2018-01-04 18:29:17

标签: c# asp.net-core asp.net-core-tag-helpers

我需要减少在我的视图中编写的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文档中查找了几篇文章,但我没有找到我正在查找的内容对

0 个答案:

没有答案