我们试图在我们的 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/

10-11 08:01