asp.net 项目在 IE 11 下出现 “__doPostBack”未定义 的解决办法

1 篇文章 0 订阅


最近我们运营的网站有用户反馈在 IE 11 <asp:LinkButton> 点击出现 “__doPostBack”未定义”,经过一番google,终于知道了原因:ASP.NET 可能无法辨识出一些浏览器的最新版本,还会经常把它们看做是低级的浏览器。(也就是: 不支持JavaScript。)

详见:http://blogs.msdn.com/b/scott_hanselman/archive/2011/10/28/asp-net-ie10-dopostback-javascript-ff5.aspx

本人按照该文所提供的解决办法始终未能得到解决,于是按提示尝试用单个站点的方式修复。

在项目根目录 App_Browsers 下新建 浏览器文件(.browser),让其与IE11 UserAgent 匹配,使.net framework 认识这是一个已知的浏览器,可以正常地向客户端输出脚本。

在文件里输入以下内容,保存即可。

<browsers>

  <browserid="IE11" parentID="Mozilla">

    <identification>

      <userAgentmatch="Trident\/7.0;rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)"/>

      <userAgentnonMatch="IEMobile" />

   </identification>

    <capture>

      <userAgentmatch="Trident/(?'layoutVersion'\d+)" />

    </capture>

    <capabilities>

      <capabilityname="browser"             value="IE" />

      <capabilityname="layoutEngine"        value="Trident" />

      <capabilityname="layoutEngineVersion" value="${layoutVersion}" />

      <capabilityname="extra"                value="${extra}" />

      <capabilityname="isColor"             value="true" />

      <capabilityname="letters"             value="${letters}" />

      <capabilityname="majorversion"        value="${major}" />

      <capabilityname="minorversion"        value="${minor}" /

      <capabilityname="screenBitDepth"      value="8" />

      <capabilityname="type"                value="IE${major}" />

      <capabilityname="version"             value="${version}" />

    </capabilities>

  </browser>

  <!-- Mozilla/5.0(Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->

  <browserid="IE110" parentID="IE11">

    <identification>

      <capabilityname="majorversion" match="11" />

   </identification>

    <capabilities>

      <capability name="ecmascriptversion"    value="3.0" />

      <capabilityname="jscriptversion"      value="5.6" />

      <capabilityname="javascript"          value="true" />

      <capabilityname="javascriptversion"   value="1.5" />

      <capabilityname="msdomversion"        value="${majorversion}.${minorversion}" />

      <capabilityname="w3cdomversion"       value="1.0" />

      <capabilityname="ExchangeOmaSupported" value="true" />

      <capabilityname="activexcontrols"     value="true" />

      <capabilityname="backgroundsounds"    value="true" />

      <capabilityname="cookies"             value="true" />

      <capabilityname="frames"              value="true" />

      <capabilityname="javaapplets"         value="true" />

      <capability name="supportsCallback"     value="true" />

      <capabilityname="supportsFileUpload"  value="true" />

      <capabilityname="supportsMultilineTextBoxDisplay" value="true" />

      <capabilityname="supportsMaintainScrollPositionOnPostback"value="true" />

      <capabilityname="supportsVCard"       value="true" />

      <capabilityname="supportsXmlHttp"     value="true" />

      <capabilityname="tables"              value="true" />

      <capabilityname="supportsAccessKeyAttribute"   value="true" />

      <capabilityname="tagwriter"           value="System.Web.UI.HtmlTextWriter" />

      <capabilityname="vbscript"            value="true" />

    </capabilities>

  </browser>

</browsers>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值