asp.net核心单选按钮帮助器为每个单选按钮呈现的ID始终相同

时间:2016-09-07 19:47:40

标签: asp.net-core asp.net-core-mvc

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 &quot;HalfScoresCount&quot; 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相同?

我该如何避免?

1 个答案:

答案 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 属性,模型绑定仍然可以正常运行。

相关问题