4

同样的问题来自这里。

如何添加没有值的属性

这一次,我想创建一个带有 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");
4

2 回答 2

1

这不完全是您所需要的,但您可以创建一个辅助方法来生成标签 -

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")
于 2014-12-30T14:17:37.887 回答
1

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

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

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

@Helpers.InputNg()

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

于 2015-05-04T12:30:42.630 回答