ASP.NET Core asp-for 属性在标签助手中不起作用

问题描述 投票:0回答:1

我有一个自定义标签助手,我想使用其中的

asp-for
属性,但它会呈现其他内容:

public class FormerTagHelper : TagHelper
{
    [HtmlAttributeName("asp-for")]
    public ModelExpression For { get; set; }
    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        output.TagName = "div";
        output.Content.AppendHtml($@"<input class=""form-control"" asp-for=""{For}""> </input>");
    }
}
<former asp-for="Name"></former>

它在 HTML 中呈现以下内容:

<div>
    <input class="form-control" asp-for="Microsoft.AspNetCore.Mvc.ViewFeatures.ModelExpression">
</div>
asp.net-core asp.net-core-mvc razorengine
1个回答
0
投票

使用

Name
属性而不是返回类型名称的
For

public override void Process(TagHelperContext context, TagHelperOutput output)
{
    output.TagName = "div";
    output.Content.AppendHtml($@"<input class=""form-control"" asp-for=""{For.Name}""> </input>");
}
© www.soinside.com 2019 - 2024. All rights reserved.