MVC6 TagHelper没有禁用复选框

时间:2016-03-30 20:12:32

标签: c# asp.net-mvc checkbox tag-helpers

我编写了一个名为CanEditTagHelper的TagHelper,它根据从视图传入的值禁用/启用输入控件。

TagHelper看起来像这样:

awaitThreads()

它在视图中使用就像......

[HtmlTargetElement("input", Attributes = CanEditAttribute)]
public class CanEditTagHelper : TagHelper
{
    private const string CanEditAttribute = "asp-can-edit";

    [HtmlAttributeName(CanEditAttribute)]
    public bool CanEdit { set; get; }

    public CanEditTagHelper(IHtmlGenerator generator)
    {
    }

    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        if (!CanEdit)
        {
            output.Attributes["disabled"] = "disabled";
        }
        base.Process(context, output);
    }
}

这适用于常规输入,但似乎不适用于CheckBoxes。禁用的属性永远不会添加到复选框输入中。

<input asp-for="UserName" asp-can-edit='Model.CanEditMember("UserName")' />

有谁知道为什么这个标记助手没有为复选框添加禁用属性?

0 个答案:

没有答案