未使用chrome定义WebForm_DoPostBackWithOptions

时间:2014-04-20 16:05:22

标签: asp.net vb.net google-chrome

在我的某个页面上,我的动态链接在IE10中运行良好,但在我的Windows手机上无法在Chrome或浏览器中使用。在Chrome中,当我尝试点击任何动态链接时,我得到“WebForm_DoPostBackWithOptions未定义”。我已经做了很多研究,并尝试在IIS 8中的Handler Mappings中修改ISAPI过滤器的设置,但这没有用。请帮忙。我很难过。

更新:这在Firefox中也不起作用。看来这个页面上的动态链接仅适用于IE10。链接是从我的代码隐藏生成的。奇怪的是,在其他页面上链接的生成方式不同,href上的javascript不同,但我在代码隐藏中创建的锚点完全相同。

以下是“坏”锚点的代码:

    Dim anchName As New HtmlAnchor
anchName.ID = "bcrasodiuhf" & foo
AddHandler anchName.ServerClick, AddressOf HandleNameClick
anchName.Attributes.Add("style", "font-weight: bold; font-size: 14px;")
anchName.Attributes.Add("for", foo)
anchName.InnerText = foo

“糟糕”的结果:

<a id="MainContent_bcrasodiuhf1" **href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBac…0$MainContent$bcrasodiuhf1", "", true, "", "", false, true))**" for="1" style="font-weight: bold; font-size: 14px;"></a>

这是一个“工作”主播:

    Dim ancJoe As New HtmlAnchor
    ancJoe.ID = "pjancJoe" & foo
    AddHandler ancJoe.ServerClick, AddressOf HandleJoeClick
    ancJoe.InnerText = joe.Title
    ancJoe.Attributes.Add("style", "font-size: 150%;")
    ancJoe.Attributes.Add("jn", foo)
    ancJoe.Attributes.Add("for", foo)
    ancJoe.Attributes.Add("action", "actionA")  

“工作”结果:

<a id="MainContent_pcancJoe19416" **href="javascript:__doPostBack('ctl00$MainContent$pcancJoe19416','')"** action="actionA" for="194" jn="foo foo" forc="16" style="font-size: 150%;"></a>

4 个答案:

答案 0 :(得分:2)

各自的JS代码(即WebForm_DoPostBackWithOptions(options))是内置部分,并且是动态链接的。页面的ScriptManager正在生成一个正确的URL。

考虑到您已经提到过您正在使用网址重写,请尝试检查WebResource.axd?d = XXX等网址是否未被忽略/重写。

此外,可能需要查看IIS处理程序映射配置以确保.axd资源映射到标准ISAPI模块处理程序。

答案 1 :(得分:0)

.NET 2.0和.NET 4附带的浏览器定义文件中存在一个错误,即它们包含某些浏览器版本的定义。但某些浏览器(如IE 10)的版本不再在这些范围内。因此,ASP.NET将它们视为未知浏览器,默认为低级定义,这有一些不便之处,例如它不支持JavaScript等功能。

幸运的是,一个修补程序可用于.NET Framework 4.0

https://support.microsoft.com/en-gb/kb/2600088

您可以在Scott Hansellman的博客上阅读有关此问题的更多信息

http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

答案 2 :(得分:0)

我有(几乎)相同的问题,并通过在IIS上重新安装.Net Framework来解决此问题

答案 3 :(得分:0)

尝试为按钮

设置causeValidation = false