ASP.NET MVC Html.TextBoxFor呈现的值不同于<%:Model.value%>

Sax*_*man 6 asp.net-mvc asp.net-mvc-2

这很奇怪,我不知道为什么.我有一个ViewModel为我的对象返回一些值,在渲染它时,它们有不同的值,但是,它们指向同一个属性:

<%: Model.myProperty %>
Run Code Online (Sandbox Code Playgroud)

返回"25",这是我设置的属性.但是当它作为文本框呈现时,它返回"0"作为我的文本框的值!

<%: Html.TextBoxFor(f => f.myProperty) %>
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?该属性为十进制类型.谢谢.

Jak*_*ner 15

在调用View或PartialView并传入模型之前尝试ModelState.Clear().

在发帖后,这个问题发生在我身上.这是因为HTML帮助程序在检查实际模型之前首先从ModelState获取它们的值.似乎这应该是IMO的逆转.


Sax*_*man 0

我的不好,似乎问题出在 HTML 中,我从多个部分视图渲染了视图,并且输入的一些 ID 是相同的(我隐藏了编辑视图并使用 jQuery 渲染了主视图),不知何故该文本框从隐藏的视图中获取值!:)

感谢大家的观看。