2010-08-09 58 views
0

我在ASP.NET站点上本地工作,并遇到postbacksIE8的问题。IE8中的ASP.NET回发问题

我有一个页面,其中repeater建立一个表,每行有一个LinkButton它用于删除该行。

FireFoxChrome中,该按钮按预期工作 - 表单回传并且表单中的所有值都可用于处理。在IE8中,表单发回,但表单集合是空的,除了启动postback的按钮。

这是一个问题,因为

  1. 很奇怪,我不理解和
  2. 我使用的值从调回形式来重建一些业务对象(我不把它们存储在viewstatesession,但基于用户在表单中输入的值从头开始重建它们)。当我从FF/Chrome发回时,完整的表单就在那里(例如,Request.Form.AllKeys有60个项目),我可以派生出我的业务对象的值。当我从IE发回时,我的表单实际上是空的,我的重建代码失败(例如,Request.Form.AllKeys只有9个项目,而不是预期的60个)。

我很茫然,解释为什么会出现在postbackFF/ChromeIE之间将不胜感激在这方面的任何见解/帮助的形式收集的内容这种差异。

我试图打破这个问题,因为我看到它 - 如果有任何进一步的信息是必需的,请让我知道。谢谢你的帮助。

回答

2

解决了这个问题 - 事实证明,我有一个嵌套在主窗体在我的母版页上。删除它,一切都很好。

2

你的问题听起来很不寻常,而且不是我见过的。尽管我无法直接提供帮助,但我建议使用Fiddler - Web Debugging Proxy来检查HTTP流量,以此作为诊断发生的方式。引用“Fiddler是免费软件,可以调试来自几乎任何应用程序的流量,包括Internet Explorer,Mozilla Firefox,Opera和数千个更多......”

+0

感谢您的建议。我用Fiddler检查了流量,它证实了我所看到的 - 来自firefox的回发数据包含所有表单元素(因此我能够重建我的业务对象),并且从IE8回发只包含LinkBut​​ton。 – user415127 2010-08-09 14:43:04

+0

只是一个疯狂的猜测,但是你有没有验证你的HTML,并检查你有所有正确的结束标签?有时缺少结束标签可能会导致发布的数据出现故障。 – 2010-08-09 15:14:42

0

我们在Windows 2008中的IE8中遇到了类似的问题,解决方案与用户权限升级有关。

在Windows 2008机器,我不得不去:

开始>管理工具 - >本地安全策略>本地策略>安全选项

然后选择“用户帐户控制:管理员批准模式内建管理员帐户“

选择启用&然后应用。

谢谢 Anugrah