asp.net-mvc-2 – 为什么mvc Html.HiddenFor不渲染我的字段?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-2 – 为什么mvc Html.HiddenFor不渲染我的字段?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想做这个简单的事情
<%= 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)%>" />

感谢Manaf

解决方法

我不知道如果这是你的情况,但是Html.HiddenFor()“如果在帖子中更改了值,则不会在发布后输出正确的值。”这是一个不是这样设计的bug。

更多信息Here

快速解决

不要使用帮手,请试试看看:

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

一直为我工作:)

猜你在找的asp.Net相关文章