【发布时间】:2019-01-03 16:43:43
【问题描述】:
我的问题是,为什么 razor 语法在我使用标签助手的标签内不起作用?这是我可以解决的问题,问题的解决方案已得到答复HERE,但我仍然无法找出为什么会出现此问题。
作为一个例子,我有一个选择标签,我试图添加一个禁用属性,仅当模型具有特定属性时。这是html:
<select
@(Model.Id != 0 ? "disabled" : "")
asp-for="QuestionType"
asp-items="Html.GetEnumSelectList<Enums.QuestionTypes>()"
id="form-type" data-parsley-required class="form-control">
</select>
在选择中使用 Razor 会输出以下内容
<select
asp-for="QuestionType"
asp-items="Html.GetEnumSelectList<Enums.QuestionTypes>()"
id="form-type" data-parsley-required="" class="form-control">
</select>
不使用 Razor 会出现这种情况
<select
id="form-type" data-parsley-required="" class="form-control"
data-val="true" data-val-required="The QuestionType field is required."
name="QuestionType">
<option selected="selected" value="0">Drop Down</option>
<option value="10">Free Response</option>
</select>
在使用 Razor 语法时,它似乎忽略了标签助手,并且没有按应有的方式(或预期的方式)构建 HTML。但是,在属性值中使用 razor 似乎工作正常,当我使用它来尝试添加诸如标签属性之类的东西时,我会遇到这些问题。如前所述,我只是想了解为什么会发生这种情况。
【问题讨论】:
标签: razor asp.net-core asp.net-core-mvc tag-helpers asp.net-core-tag-helpers