同样的问题来自这里。
How to 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");
答案 0 :(得分: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")
答案 1 :(得分:1)
另一种方法是使用Razor助手在您的App_Code
目录中创建Helpers.cshtml文件。你的帮手想要这个
@helper InputNg() {
<input ng-angular-abc />
}
要在剃须刀视图中访问帮助程序,只需使用文件名,然后使用如下所示的方法:
@Helpers.InputNg()
它可以让您更好地控制HTML。