Asp.net core mvc 覆盖生成的复选框名称(通过asp for)

Asp.net core mvc 覆盖生成的复选框名称(通过asp for),asp.net-core-mvc,Asp.net Core Mvc,我想更改由“asp for”标记生成的视图输入字段的名称。当我添加一个“name=newname”和类型为“text”或“number”的输入字段时,这就起作用了。但当输入字段的类型为“checkbox”时,则不会。然后忽略“name=newname”。你知道为什么会出现这种情况,以及在使用asp时如何解决它吗?我正在使用AspNetCore.mvc1.0.0-rc2-final <input type="number" asp-for="@item.StatementSeqNr" nam

我想更改由“asp for”标记生成的视图输入字段的名称。当我添加一个“name=newname”和类型为“text”或“number”的输入字段时,这就起作用了。但当输入字段的类型为“checkbox”时,则不会。然后忽略“name=newname”。你知道为什么会出现这种情况,以及在使用asp时如何解决它吗?我正在使用AspNetCore.mvc1.0.0-rc2-final

<input type="number" asp-for="@item.StatementSeqNr" name="StatementSeqNr" class="form-control" /> produces correct name:
<input name="StatementSeqNr" class="form-control" type="number" data-val="true" id="item_StatementSeqNr" value="5" />

<input type="checkbox" asp-for="@item.StatementActive" name="StatementActive" /> produces incorrect name:
<input checked="checked" data-val="true" id="item_StatementActive" name="item.StatementActive" type="checkbox" value="true" />
生成正确的名称:
产生不正确的名称:

这在新的TagHelpers中目前是不可能的。 您可以通过使用HtmlHelpers而不是TagHelpers来实现这一点。asp.net core仍然完全支持它们:

@Html.EditorFor(item => item.StatementActive, null, "StatementActive")

我找到的唯一方法是使用一些数据属性并覆盖Javascript中生成的值: