【发布时间】:2012-01-26 10:03:05
【问题描述】:
我一直在尝试调试一个问题,并将其归结为这种情况:
当语句 Html.TextBox("ID", "What the heck..") 被执行时,我希望它会呈现:
<input id="ID" name="ID" type="text" value="What the heck.." />
但我得到一个 Guid 作为它的 TextBox 值,例如:
<input id="ID" name="ID" type="text" value="2e369d2c-071d-4733-8382-cc9e77d0b912" />
为什么 Asp.net MVC 输出 Guid?我没有覆盖 asp.net mvc 的框架方法。请参考截图。
更新: 这是另一个使用 Html.Hidden() 而不是 Html.TextBox() 的屏幕截图。我不能直接在 Watch 窗口中使用 Html.HiddenFor(),因为 HiddenFor() 使用 lambdas。
@Eric Petroelje 和@TLS:你们两个是对的。 TextBox() 和 Hidden() 从 POST 变量中检索 ID 的值,而不是从当前模型或函数的 value 参数中检索。不过,我预计与 HiddenFor() 和 TextBoxFor() 不同。我希望它只有在无法从当前模型中获取值的情况下才能从 POST 变量中获取值。我怎样才能做到这一点?
【问题讨论】:
-
您的屏幕截图仅显示了您如何使用
Html.HiddenFor方法,但您的讨论谈到了Html.Textbox方法。您能否举例说明您如何在代码中使用Html.Textbox? -
@TLS - 查看监视窗口。
-
@Mystere - 啊,好吧。现在我明白他在说什么了。调整屏幕截图的大小确实很难看到所有的位。
-
感谢您的编辑和澄清。我认为@EricP 有正确的答案,所以他的答案可能应该是被接受的。
标签: asp.net-mvc