【发布时间】:2013-08-12 13:50:49
【问题描述】:
一个我从未见过的简单场景,但一位同事刚刚击中 - MVC3
- 创建动作方法 MyAction(int myProperty = 0)
- 创建一个具有 MyProperty 属性的模型
- 将此模型的实例传递给强类型视图,但在代码中将属性设置为 10(不要使用查询字符串参数!)
- 在视图中,Html.TextBoxFor(x => x.MyProperty)
这应该在文本框中呈现 10。
现在调用动作方法 MyAction?myProperty=8
这不应该还是在文本框中呈现 10 吗?
我看到我可以覆盖表达式发现的属性并假设这是因为它们是相同的名称(Query String 参数和模型属性)。然后一切都在ViewData 中,但其中一个会覆盖另一个。
这是设计的吗?
【问题讨论】:
-
这实际上是关于模型绑定,而不是 Razor。
-
你是@Html.TextBoxFor 之间的一个form using 语句。
标签: asp.net-mvc asp.net-mvc-3 razor