我理解Html.TextBox()等字段接受两个值,第一个是名称,第二个是值。 Html.TextArea()也是如此。但是,如果表单以AJAX形式提交,并且放置表单的div将替换为服务器中的视图,则表单字段将坚持采用先前的值。一张图片胜过千言万语:
image http://img132.imageshack.us/img132/4171/aspnetmvcbug.png
我检查了控制器和模型上的所有内容,图像来自调试视图本身。该模型为空,但从中生成的字段采用先前提交的值。
答案 0 :(得分:3)
回发数据保存在ModelState中。内置的HtmlHelper方法将在呈现内容时根据表单元素的名称查找存储在模型状态中的值。
答案 1 :(得分:2)
检查View.ModelState属性。表格可以在某些情况下从中获取值。
答案 2 :(得分:0)
你有一个条目ViewData [“Body”]? MVC还将尝试根据名称将控件绑定到ViewData项。