【发布时间】:2019-11-26 19:02:45
【问题描述】:
我正在尝试使用 ASP.NET Core 中的标签助手生成 select,但它似乎与“动态”属性作斗争。例如,如果我有这个:
// f is some model
var required = f.IsRequired ? "required" : string.Empty;// true for example
var multiple = f.IsMultiple ? "multiple" : string.Empty;// true for example
<select asp-items="@f.SelectItems" @multiple @required>
</select>
我希望得到:
<select multiple required>
<option></option>
...
</select>
但是我得到了:
<select>
<option></option>
...
</select>
有什么方法可以实现我的期望吗?
【问题讨论】:
-
您可以将
required和multiple设置为true或false,然后使用multiple="@multiple" required="@required"。 -
哇,没想到这么简单,但确实如此。您可以将其发布为答案吗?谢谢!
-
其实这看起来不太对劲。在
false情况下,会呈现required="False"属性,该属性被简单地视为required,并在不应要求的字段上强制发出浏览器警告。 -
我相信你可以通过使用
null而不是false来解决这个问题。 -
就是这样,谢谢!
标签: c# asp.net-core razor tag-helpers