Create.cshtml //为简洁起见删除了其余表单代码
<div class="form-group">
<label for="GradingKey.HalfScoresCount">
<input asp-for="GradingKey.HalfScoresCount" value="true" type="radio" />Yes
</label>
<span asp-validation-for="GradingKey.HalfScoresCount" class="text-danger" />
</div>
<div class="form-group">
<label for="GradingKey.HalfScoresCount">
<input asp-for="GradingKey.HalfScoresCount" value="false" type="radio" />No
</label>
<span asp-validation-for="GradingKey.HalfScoresCount" class="text-danger" />
</div>
创建了Html
<div class="form-group">
<label for="GradingKey.HalfScoresCount">
<input value="true" type="radio" data-val="true" data-val-required="Das Feld "HalfScoresCount" ist erforderlich." id="GradingKey_HalfScoresCount" name="GradingKey.HalfScoresCount" />Yes
</label>
<span class="text-danger field-validation-valid" data-valmsg-for="GradingKey.HalfScoresCount" data-valmsg-replace="true" />
</div>
<div class="form-group">
<label for="GradingKey.HalfScoresCount">
<input value="false" type="radio" id="GradingKey_HalfScoresCount" name="GradingKey.HalfScoresCount" />No
</label>
<span class="text-danger field-validation-valid" data-valmsg-for="GradingKey.HalfScoresCount" data-valmsg-replace="true" />
</div>
为什么生成的html与两个单选按钮的ID相同?
我该如何避免?
答案 0 :(得分:8)
为什么生成的html与两个单选按钮的ID相同?
默认情况下,id
的{{1}}字段将是input
标记帮助程序值中设置的属性的名称。你有两次列出相同的值:
asp-for
我该如何避免?
只需指定您自己的<input asp-for="GradingKey.HalfScoresCount" value="true" type="radio" />Yes
<input asp-for="GradingKey.HalfScoresCount" value="false" type="radio" />No
属性值:
id
只要您不修改<input asp-for="GradingKey.HalfScoresCount" value="true" type="radio" id="myFirstId" />Yes
<input asp-for="GradingKey.HalfScoresCount" value="false" type="radio" id="mySecondId" />No
属性,模型绑定仍然可以正常运行。