2016-06-12 43 views
2

我想更改由「asp-for」標記生成的view-inputfield的名稱。當我使用'text'或'number'類型的輸入字段添加「name = newname」時,這將起作用。但是當inputfield是'checkbox'類型時不行。然後「name = newname」被忽略。任何想法,爲什麼這是以及如何使用asp-for解決它?我正在使用AspNetCore.Mvc 1.0.0-rc2-final。覆蓋生成的複選框名稱(通過asp-for)

<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" /> 
+1

我發現的唯一方式是使用一些數據屬性並覆蓋在JavaScript中生成的值: AGuyCalledGerald

回答

1

這對於新的TagHelpers目前是不可能的。 您可以通過使用HtmlHelpers而不是TagHelpers來實現此目的。他們仍然完全支持在asp.net核心:

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