我们试图在我们的 View 中使用类型安全,并使用新的ExpressionInputExtenssion HtmlHelpers,但是我们看到了一些不一致的结果。我们有一个看起来像这样的 View :
ViewData.Model.FooID = <%= ViewData.Model.FooID %><
Model.FooID = <%= Model.FooID %>
<%= Html.HiddenFor(x=>x.FooID) %>
但是我们在渲染 View 中看到的是:
ViewData.Model.FooID = 515b0403-e75b-4bd7-9b60-ef432f39d338
Model.FooID = 515b0403-e75b-4bd7-9b60-ef432f39d338
<input id="FooID" name="FooID" type="hidden" value="" />
我可以手动添加:
<input id="FooID" name="FooID" type="hidden" value="<%= Model.FooID %>" />
但是现在我们不再了,但是令人惊讶的是,当我这样做时,Html.HiddenFor始终具有正确的值。
最佳答案
似乎扩展方法后面的模型联编程序无法将您的FoodID数据类型转换为字符串。您的数据类型是常规的GUID吗?
我知道此扩展方法在处理二进制文件时会有重载,但我不确定GUID ....
您是否尝试对它进行调试?
关于asp.net-mvc - ASP.Net MVC 2.0 Html.HiddenFor HtmlHelper扩展不返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1724927/