Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC6 TagHelper未禁用复选框_C#_Asp.net Mvc_Checkbox_Tag Helpers - Fatal编程技术网

C# MVC6 TagHelper未禁用复选框

C# MVC6 TagHelper未禁用复选框,c#,asp.net-mvc,checkbox,tag-helpers,C#,Asp.net Mvc,Checkbox,Tag Helpers,我编写了一个名为CanEditTagHelper的TagHelper,它根据从视图传入的值禁用/启用输入控件 TagHelper如下所示: [HtmlTargetElement("input", Attributes = CanEditAttribute)] public class CanEditTagHelper : TagHelper { private const string CanEditAttribute = "asp-can-edit"; [HtmlAttrib

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

TagHelper如下所示:

[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);
    }
}
它在视图中使用,就像这样

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

这对于常规输入很有效,但对于复选框似乎不起作用。禁用的属性永远不会添加到复选框输入中

<div class="checkbox">
    <label asp-for="Active" asp-context="label">
        <input asp-for="Active" 
               asp-can-edit='Model.CanEditMember("Active")'
               type="checkbox" />
            Active
    </label>
</div>

活跃的

有人知道为什么这个标记帮助程序不向复选框添加禁用的属性吗?

如果(!CanEdit)返回,那么
怎么办?!CanEdit返回true,因为他们无法编辑它,因此它会进入添加禁用属性的代码中。不幸的是,当视图呈现时,复选框没有disabled属性。你指的是什么引导复选框?忽略我提到的引导复选框。我指的是如何用bootstrap编写复选框,但不管它是bootstrap还是普通的。它不添加禁用属性。当您在设置禁用属性的行上放置断点并检查输出的属性时,是否列出禁用属性?