Qrcode
手机扫描二维码快速访问
avatar
黑莓糖专属城堡
真、

.Net网站项目 IE10浏览器 _doPostBack未定义

VS2010 .NET 4 开发的网站项目,如果用到需要JavaScript回调的控件,生成html时会生成js _doPostBack函数,在IE10 浏览器下会 出现_doPostBack未定义错误

解决办法

项目中添加 browser文件

详见:
博客园 .Net IE10 _doPostBack 未定义
MSDN 错误与修复:ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误,恒处于FF5卷动条位置

但在 IE11 中上述办法不能解决这个问题,需要在 ie.browser 文件顶部的 <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>

PS:IE10、IE11 浏览器包括使用其内核的浏览器