asp.net-mvc-2 - 为什么 mvc Html.HiddenFor 不呈现我的字段?

标签 asp.net-mvc-2

我正在尝试做这件简单的事情

<%= Html.HiddenFor(model => model.Id)%>

该模型是
[HiddenInput(DisplayValue=true)]
public int Id { get; set; }

但我总是得到这个渲染
<input type="hidden" value="0" name="UserInfo.Id" id="UserInfo_Id">

我检查过,id 不是 0..?!

这里需要一些解释......

编辑

问题似乎是下面提到的后事。
这是工作
<input type="hidden" value="<%= Html.AttributeEncode(Model.Id) %>" id="<%= Html.IdFor(model=>model.Id)%>" name="<%= Html.NameFor(model=>model.Id)%>" />

感谢马纳夫

最佳答案

我不确定您是否是这种情况,但 Html.HiddenFor() “如果在发布期间更改了值,请不要在发布后输出正确的值。”这不是一个错误,它是这样设计的。

快速修复:

不要使用助手,试试这个:

<input type="hidden" value="<%= Html.AttributeEncode(model.Id) %>" id="Id" name="Id" />

一直为我工作:)

关于asp.net-mvc-2 - 为什么 mvc Html.HiddenFor 不呈现我的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3606087/

相关文章:

asp.net-mvc-2 - 仅当调试器运行时防伪 token 异常

asp.net-mvc-2 - 你什么时候使用 View() 和 RedirectToAction

security - MVC2::我如何*使用*自定义 IIdentity 类?

c# - 从客户端应用程序自动安全地登录 Web

c# - 数据注释自定义验证器在 MVC2 中不起作用(如我所料)

asp.net-mvc - Views 文件夹外的 View 出错

c# - MVC - 将附加信息传递给 View

asp.net-mvc - MVC2 + ASP.NET 4.0 + IIS6 + 无扩展名 URL,不再需要通配符映射?

jquery - 是否有 JQuery 时间插件可用于在 ASP.NET MVC 页面上选择时间?