如何添加没有值的属性

Sri*_*ini 12 asp.net-mvc razor

我通过html帮助器和TagBuilder生成HTML文本框.

我们有方法TagBuilder.Attributes.Add("key","value")

但是对于HTML5,必需属性不需要传递值,所以如果我传递空字符串,则输出值为required =""

那么如何在不传递值的情况下添加必需属性呢?

 public static IHtmlString AppTextBox(this HtmlHelper helper, string model)
    {
        var input = new TagBuilder("input");
        input.Attributes.Add("class", "form-control");
        input.Attributes.Add("ng-model", model);

        input.Attributes.Add("required","");

        return new MvcHtmlString(input.ToString(TagRenderMode.Normal));
    }
Run Code Online (Sandbox Code Playgroud)

Hen*_*ema 9

将属性的名称作为值传递也是有效的:

input.Attributes.Add("required", "required");
Run Code Online (Sandbox Code Playgroud)


ben*_*ery 5

我已经在 MVC 5 上进行了测试,不确定旧版本,但以下内容可以满足您的要求。

tagBuilder.MergeAttribute("required", string.Empty);
Run Code Online (Sandbox Code Playgroud)