我知道每个浏览器都有一个用户代理,所以这通常不会出现,但问题的实质仍然存在:如果你依赖,有些情况下无法识别或格式错误的用户代理可能会导致您的Web应用程序无法使用回发.
这类似于这个问题:ASP.net not generating javascript for some User Agents,但是如果我正确地阅读它,看起来你会逐个修复每个无法识别的用户代理并将其掩盖为另一个浏览器.我对单个用户代理的关注较少,而且由于某些用户代理无法使用我的应用程序而我不会知道它,因为错误发生在javascript而不是服务器上.
有谁知道我可以强制ASP.NET始终生成所需的JavaScript的方式?
解决方法
你需要更改的行和在这种情况下使用javascript是那些:
<capability name="jscriptversion" value="5.6" /> <capability name="javascript" value="true" /> <capability name="javascriptversion" value="1.5" />
在默认情况下,javascript行为false.我想在这里发表评论,我不确定你是否真的需要改变它,如果有人欺骗用户代理,就让它去做.如果他喜欢您的网站并且需要使用它,那么最好让您知道如何处理他使用的浏览器.另一方面,如果可能的话,你必须小心,你的网站即使没有javascript工作,至少对你做的大部分行动.
最好避免使用链接按钮(使用_doPostBack)并使用回拨按钮.我知道GridView和其他人也使用_doPostBack进行分页……好吧,但是更好的一个好网站甚至可以使用javascript工作.
一些类似的问题:
__doPostBack is undefined on DotNetNuke website for IE 10
和这个博客:Bug and Fix: ASP.NET fails to detect IE10 causing _doPostBack is undefined JavaScript error or maintain FF5 scrollbar position