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