IE11来了。我刚刚安装了开发者预览版本。但是,如果我运行一些我的Web应用程序,我得到的错误WebForm_DoPostBackWithOptions是未定义的。
当我使用autopostback DropDownList时弹出错误。
此外,它看起来像IE10类似的问题之前:
解决方法
我有一个类似的问题,Internet Explorer 11未被正确检测的.NET 4.0框架。这是我如何解决这个问题:
安装建议的补丁没有做的伎俩。在深入了解问题后,我发现虽然http://support.microsoft.com/kb/2836939补丁安装在服务器上,浏览器仍然被认为是Mozilla版本为0.0的服务器上。经过进一步的研究,我发现如果你有任何.browser文件在你的网站的app_browsers文件夹,在服务器上检测到的版本是错误的,即Mozilla 0.0。
要解决此问题,我在app_browsers目录中创建了一个自定义.browser文件,其中包含以下内容:
@H_403_16@<browsers> <browser id="IE11" parentID="Mozilla"> <identification> <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" /> <userAgent nonMatch="IEMobile" /> </identification> <capture> <userAgent match="Trident/(?'layoutVersion'\d+)" /> </capture> <capabilities> <capability name="browser" value="IE" /> <capability name="layoutEngine" value="Trident" /> <capability name="layoutEngineVersion" value="${layoutVersion}" /> <capability name="extra" value="${extra}" /> <capability name="isColor" value="true" /> <capability name="letters" value="${letters}" /> <capability name="majorversion" value="${major}" /> <capability name="minorversion" value="${minor}" /> <capability name="screenBitDepth" value="8" /> <capability name="type" value="IE${major}" /> <capability name="version" value="${version}" /> </capabilities> </browser> <!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko --> <browser id="IE110" parentID="IE11"> <identification> <capability name="majorversion" match="11" /> </identification> <capabilities> <capability name="ecmascriptversion" value="3.0" /> <capability name="jscriptversion" value="5.6" /> <capability name="javascript" value="true" /> <capability name="javascriptversion" value="1.5" /> <capability name="msdomversion" value="${majorversion}.${minorversion}" /> <capability name="w3cdomversion" value="1.0" /> <capability name="ExchangeOmaSupported" value="true" /> <capability name="activexcontrols" value="true" /> <capability name="backgroundsounds" value="true" /> <capability name="cookies" value="true" /> <capability name="frames" value="true" /> <capability name="javaapplets" value="true" /> <capability name="supportsCallback" value="true" /> <capability name="supportsFileUpload" value="true" /> <capability name="supportsMultilineTextBoxDisplay" value="true" /> <capability name="supportsMaintainScrollPositionOnPostback" value="true" /> <capability name="supportsVCard" value="true" /> <capability name="supportsXmlHttp" value="true" /> <capability name="tables" value="true" /> <capability name="supportsAccessKeyAttribute" value="true" /> <capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" /> <capability name="vbscript" value="true" /> </capabilities> </browser> </browsers>在以下文章中建议类似的方法:
doPostback failing in IE 11+ Windows 8.1
我想澄清,这个问题只发生在.NET 4.0。使用.NET 4.5,可以正确检测浏览器及其版本。