gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 4 覆盖发出的 html 名称和 id

转载 作者:行者123 更新时间:2023-12-02 19:04:35 25 4
gpt4 key购买 nike

我正在尝试更改 @Html.HiddenFor 创建的 html 输入的发出名称.

我正在使用的代码:

@Html.HiddenFor(e => e.SomeProperty, new { @id = "some_property", @name = "some_property" }

现在这适用于 id ,但是它不适用于名称。现在我不太关心id现在,我需要name进行更改,因为这是被发送回目标服务器的内容。

有吗

  • 我可以申请的特性 SomeProperty在我的模型中?
  • Html.HiddenFor中的一种方式覆盖 name属性(property)?

或者我只能做一个简单的<input ...>用手?

最佳答案

您需要使用Html.Hidden (或手写 <input ...>)而不是 Html.HiddenFor

@Html.Hidden("some_property", Model.SomeProperty, new { @id = "some_property" })

强类型助手(例如名称以“For”结尾的助手,如 HiddenFor )的目标是从提供的表达式中猜测输入名称。因此,如果您想要一个“自定义”输入名称,您可以随时使用常规帮助程序,例如 Html.Hidden您可以在其中显式设置名称。

answer from unjuken错误,因为它生成无效 HTML。

使用该解决方案会生成两个 name属性:

<input  Name="some_property"  name="SomeProperty" id="some_property" type="hidden" value="test" /> 

所以你将有Name="some_property" name="SomeProperty"这是无效 HTML,因为输入只能有一个 name属性! (尽管大多数浏览器碰巧采用第一个 Name="some_property" 并且不关心第二个......)

关于asp.net-mvc - ASP.NET MVC 4 覆盖发出的 html 名称和 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14810100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com