【发布时间】:2011-10-10 02:42:03
【问题描述】:
我在更改 MVC 3 中文本框的值时遇到问题。
我有一个简单的视图,它由控制器返回并输入到自定义视图模型中。视图上有一个文本框,它绑定到视图模型上的字符串属性。如果我在初始加载时填充此字符串,则文本框值包含字符串的值。但是,如果我随后将表单发回相同的 URL 并更改视图模型字符串值并重新加载视图,则文本框包含发回的值,而不是控制器为视图模型提供的值。
我创建了一个简单的测试项目,以尽可能简单的方式重现问题。
查看型号:
http://www.codetunnel.com/content/images/textboxproblem/ViewModel.jpg
控制器:
http://www.codetunnel.com/content/images/textboxproblem/Controller.jpg
查看:
http://www.codetunnel.com/content/images/textboxproblem/View.jpg
在视图中,我显示视图模型字符串值,并将字符串属性绑定到文本框。
初始加载时一切正常:
http://www.codetunnel.com/content/images/textboxproblem/InitialLoadTest.jpg
但是,如果我更改文本框的值,然后按 Enter 以 POST 表单,事情就不会像我预期的那样发生。显示的值是控制器在action方法中设置的值,但是文本框保留了回传的值:
http://www.codetunnel.com/content/images/textboxproblem/POSTTest.jpg
我不确定是什么问题。
【问题讨论】:
-
(codetunnel.com 上的所有链接现在都已失效,可以使用适当的 CDN 替换它们吗?例如在 imgur.com 上?)
标签: c# .net asp.net-mvc asp.net-mvc-3 view