__doPostBack is undefined on DotNetNuke website for IE 10

拥有回忆 提交于 2019-12-04 03:09:56

问题


I have a DotNetNuke site, and today a customer called in and said it wasn't working on IE 10. Specifically the login and register links weren't working, but they do in compatibility mode. I took a look on our test windows 8 machine and saw that it was failing because __doPostBack was undefined. I've been searching for a fix for the last 6ish hours, and what I've been able to find is that apparently the IE10 user agent is covered in the ie.browser file and that I should install this hotfix and reboot the server. That didn't work. I haven't noticed any changes, even though I think the new ie.browser file should match the new user agent.

What other steps can I take to fix the problem? Note: the server is running .NET 3.5 with service pack 1 on Windows server 2003. The site is running DotNetNuke 05.06.02. Any suggestions would be greatly appreciated.


回答1:


See this post by Scott Hanselman:

"Bug and Fix: ASP.NET fails to detect IE10 causing _doPostBack is undefined JavaScript error or maintain FF5 scrollbar position"




回答2:


On my production site I tried a few things and they didn't work.

I installed the hotfix and rebooted - no good

I copied over the updated ie.browser file - no good

I tried modifying the default.browser, the ie.browser, and the mozilla.browser files to enable javascript for everything - no good.

One thing I did that finally made it work (and this should work for EVERYTHING) is in the InitializePage function of the Default.aspx.vb file, I added this line to the start of the subroutine

Page.ClientTarget = "uplevel"

That should (from what I understand) treat ALL browsers as if they can handle javascript and cookies and all that other stuff we need. I feel like that's a pretty safe bet.




回答3:


There's another config that if exist in web.config overrides Scott Hanselman's proposed fixes:

<browserCaps>

ASP.NET browser capability sniffer could be configured in 3 ways (overrides each other):

  1. Machine wide in <windir>\Microsoft.NET\Framework\<ver>\CONFIG\Browsers
  2. Site only by using .browser files in App_Browsers folder
  3. Site only by using <browserCaps> Element in web.config

for IE10 add the following case under <browserCaps> <case "Mozilla .. MSIE ..> :

<case match="\d{2,}" with="${version}">
  frames=true
  tables=true
  cookies=true
  backgroundsounds=true
  vbscript=true
  javascript=true
  javaapplets=true
  activexcontrols=true
  tagwriter=System.Web.UI.HtmlTextWriter
  ecmascriptversion=3.0
  msdomversion=${major}${minor}
  w3cdomversion=1.0
  css1=true
  css2=true
  xml=true

  <filter with="${letters}" match="^b">
    beta=true
  </filter>
  <filter with="${extra}" match="Crawler">
    crawler=true
  </filter>
</case>


来源:https://stackoverflow.com/questions/13203792/dopostback-is-undefined-on-dotnetnuke-website-for-ie-10

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!