【问题标题】:ASP.Net Event Validation fails on Android phone browserASP.Net 事件验证在 Android 手机浏览器上失败
【发布时间】:2010-08-11 05:05:31
【问题描述】:

我们正在运营一个相当大的网站,我们的许多访问者已经开始使用他们的 Android 手机访问该网站。但是,当他们尝试登录时,我们会收到一个事件验证错误:

回发或回调参数无效。 使用启用事件验证 在配置中或 在一个 页。为了安全起见,这 功能验证参数 回发或回调事件起源 从服务器控制 最初渲染它们。如果数据 是有效的和预期的,使用 ClientScriptManager.RegisterForEventValidation 方法来注册 回发或回调数据 验证。

有人知道在不完全禁用事件验证的情况下解决此问题的方法吗?

不是他们每次都访问,但经常出现问题就足​​够了。

此外,我们从未在基于 PC 的浏览器(IE、FF、Chrome、Safari、Opera 等)上获得这些内容

编辑:

发生这种情况的页面没有更新面板,没有自定义 __doPostback 代码等。它几乎是香草,带有一个导致回发的简单 LinkBut​​ton。

这个错误也出现在许多其他页面上(现在才发现),所以我怀疑这是一个单独的设计错误。

我认为这更有可能是基于 Android 的浏览器和一般的 ASP.Net 的问题。

【问题讨论】:

  • 您需要提供更多信息以提供解决方案 - 您可以通过在页面上的某些控件中禁用状态视图来搜索以查找错误的来源。跨度>
  • 将此视为一个想法:stackoverflow.com/questions/3420635/…
  • 我用一些信息更新了这个问题。但是我看不出这与视图状态有什么关系,因为事件验证只是检查发布的输入是否对应于有效值列表?
  • 我还在我们的日志中看到了这一点,用于使用视图状态验证的任何 ASP.NET 应用程序 - 在使用 Apple Webkit 的 Android 设备上(根据浏览器配置字符串)。 Android浏览器是否可能破坏视图状态?我知道一些旧版本的 Safari 隐藏字段的最大长度较小,并导致了类似的问题。也许 Andriod 上的 WebKit 浏览器也有类似的问题?

标签: asp.net android eventvalidation


【解决方案1】:

我想我在这里找到了答案:

http://support.microsoft.com/kb/969548

我认为是这种情况的原因是,当我在我的 Android 模拟器上正常浏览时,我无法复制它,但如果我在页面完成加载之前单击一个按钮,我可以。此外,即使是 3G 网络也很慢,很可能出现这种情况,因为不耐烦的用户会在看到他们想要的选项时立即点击。

【讨论】:

    猜你喜欢
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    相关资源
    最近更新 更多