繁体   English   中英

TagBuilder添加没有值的属性

[英]TagBuilder add attribute without value

同样的问题来自这里。

如何添加没有值的属性

这一次,我想用AngularJS属性创建一个输入,将其用作指令。

这就是我想要的:

<input ng-angular-abc />

这就是TagBuilder生成的内容:

<input ng-angular-abc=""/>

我试过这个,但都没有用:

tagBuilder.MergeAttribute("ng-angular-abc", "");
tagBuilder.MergeAttribute("ng-angular-abc", null);
tagBuilder.MergeAttribute("ng-angular-abc", "ng-angular-abc");

这不是您需要的,但您可以创建一个帮助方法来生成标记 -

namespace YourNamespace
{
    public static class CustomHelpers
    {
        public static MvcHtmlString TextboxWithProperty(this HtmlHelper html, string property)
        {
            StringBuilder result = new StringBuilder();
            result.AppendFormat("<input {0} />", property);
            return MvcHtmlString.Create(result.ToString());
        }
    }
}

并在你的视图中调用它 -

@using YourNamespace
...
...
...
@Html.TextboxWithProperty("ng-angular-abc")

另一种方法是使用Razor助手在App_Code目录中创建Helpers.cshtml文件。 你的助手会喜欢这个

@helper InputNg() {
    <input ng-angular-abc />
}

要在剃刀视图中访问帮助程序,只需使用文件名,然后使用如下所示的方法:

@Helpers.InputNg()

它可以让您更好地控制HTML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM