日期:2014-05-17  浏览次数:20455 次

ie10兼容性试图 asp.net __doPostBack
非常奇怪的问题。
其实这个问题不解决也不影响项目的。他们不会用ie10哈哈,但是还是想知道为什么。
当没有选择ie10的兼容性视图时,打开了处问题的那个页面,报错__doPostBack看了html源码发现没有生成__doPostBack这个函数,也根本就没有下面这段代码
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>]
</script>

但是选择了兼容性视图时就会有上面的这段代码,也就是有__doPostBack这个函数了。这到底是什么情况。。。。。。难道是asp.net会认识ie10,自动判断,自已觉得是否生产那段代码,但是我在页面中使用了linkbutton服务器控件,它怎么能不生成__doPostBack这个函数呢。。。。那假如输出的页面源码中有__doPostBack这个函数,为什么又在未选择兼容性视图时,源码中却没有呢。。。。。。。
js?__doPostBack?ie10

------解决方案--------------------
引用:
非常奇怪的问题。
其实这个问题不解决也不影响项目的。他们不会用ie10哈哈,但是还是想知道为什么。
当没有选择ie10的兼容性视图时,打开了处问题的那个页面,报错__doPostBack看了html源码发现没有生成__doPostBack这个函数,也根本就没有下面这段代码JavaScript code?123456789101112131415<script type……

让iis 不要返回兼容性视图 就可以解决这个问题。
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>