【问题标题】:Override generated checkbox-name (via asp-for)覆盖生成的复选框名称(通过 asp-for)
【发布时间】:2016-10-12 23:14:22
【问题描述】:

我想更改由“asp-for”标签生成的视图输入字段的名称。当我添加带有“文本”或“数字”类型的输入字段的“名称=新名称”时,此方法有效。但当输入字段的类型为“复选框”时则不然。然后忽略“name=newname”。任何想法为什么会这样以及在使用 asp-for 时如何解决它?我正在使用 AspNetCore.Mvc 1.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" />

【问题讨论】:

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

标签: asp.net-core-mvc


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-02-23
    • 1970-01-01
    • 2023-01-31
    • 2019-04-05
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多