我在ASP.NET
站点上本地工作,并遇到postbacks
在IE8
的问题。IE8中的ASP.NET回发问题
我有一个页面,其中repeater
建立一个表,每行有一个LinkButton
它用于删除该行。
在FireFox
和Chrome
中,该按钮按预期工作 - 表单回传并且表单中的所有值都可用于处理。在IE8中,表单发回,但表单集合是空的,除了启动postback
的按钮。
这是一个问题,因为
- 很奇怪,我不理解和
- 我使用的值从调回形式来重建一些业务对象(我不把它们存储在
viewstate
或session
,但基于用户在表单中输入的值从头开始重建它们)。当我从FF/Chrome
发回时,完整的表单就在那里(例如,Request.Form.AllKeys有60个项目),我可以派生出我的业务对象的值。当我从IE发回时,我的表单实际上是空的,我的重建代码失败(例如,Request.Form.AllKeys
只有9个项目,而不是预期的60个)。
我很茫然,解释为什么会出现在postback
FF/Chrome
和IE
之间将不胜感激在这方面的任何见解/帮助的形式收集的内容这种差异。
我试图打破这个问题,因为我看到它 - 如果有任何进一步的信息是必需的,请让我知道。谢谢你的帮助。
感谢您的建议。我用Fiddler检查了流量,它证实了我所看到的 - 来自firefox的回发数据包含所有表单元素(因此我能够重建我的业务对象),并且从IE8回发只包含LinkButton。 – user415127 2010-08-09 14:43:04
只是一个疯狂的猜测,但是你有没有验证你的HTML,并检查你有所有正确的结束标签?有时缺少结束标签可能会导致发布的数据出现故障。 – 2010-08-09 15:14:42