Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 似乎无法摆脱兼容性视图?_C#_Asp.net_Internet Explorer_Html_Http - Fatal编程技术网

C# 似乎无法摆脱兼容性视图?

C# 似乎无法摆脱兼容性视图?,c#,asp.net,internet-explorer,html,http,C#,Asp.net,Internet Explorer,Html,Http,我正在使用绘图库。它在IE8和IE9中似乎工作得很好,但在IE9兼容性视图中出现问题-它不呈现任何图形。我怀疑这是因为它大量使用HTML5canvas对象,但我可能错了。我试着做了以下几点: 添加:到我的HTML标记。我甚至试过IE=8和IE=9,但都没有用。我的标签如下所示: 我仍然面临这个问题。我得到的错误是: HTML1202: http://intranetdomain/SampleProj/Default.aspx is running in Compatibility View

我正在使用绘图库。它在IE8和IE9中似乎工作得很好,但在IE9兼容性视图中出现问题-它不呈现任何图形。我怀疑这是因为它大量使用HTML5
canvas
对象,但我可能错了。我试着做了以下几点:

  • 添加:
    到我的HTML
    标记。我甚至试过
    IE=8
    IE=9
    ,但都没有用。我的标签如下所示:

我仍然面临这个问题。我得到的错误是:

HTML1202: http://intranetdomain/SampleProj/Default.aspx is running in Compatibility View because 'Display intranet sites in Compatibility View' is checked. 
Default.aspx
HTML1113: Document mode restart from IE7 Standards to IE9 Standards 
Default.aspx
还有什么可以克服的吗

编辑:检查我的响应标题,在
Global.asax.cs
中添加该行不会将它们添加到我的标题中。我想知道为什么

响应标题:

Key Value
Response    HTTP/1.1 200 OK
Cache-Control   private
Content-Type    text/html; charset=utf-8
Server  Microsoft-IIS/7.5
X-AspNet-Version    4.0.30319
X-Powered-By    ASP.NET
Date    Thu, 27 Oct 2011 20:39:55 GMT
Content-Length  29088
编辑2:显然,
Application\u End
是错误的事件。相反,这样做会将元素注入到标头中:

void Application_BeginRequest(object sender, EventArgs e)
{
    Response.Headers.Add("X-UA-Compatible", "IE=Edge");
}

但是问题本身仍然存在。

问题可能是由于您的Internet Explorer兼容性视图设置造成的。如果转到“工具”菜单,然后转到“兼容性视图设置”,请确保未选中“在兼容性视图中显示intranet站点”。您可能会看到IE根据您的主机名在您的intranet中被检测到而强制您进入兼容性视图


请注意-取决于您的IE版本-您可能必须按左Alt键才能显示菜单栏,从这里可以打开“工具”菜单。

奇怪的是-如果您删除
runat=“server”
,则
meta
标记将起作用,按钮将消失。b当然不建议删除
运行时的

您可以直接在IIS上设置兼容性设置。如果单击站点并打开响应标题,则可以添加值为IE=X的X-UA-Compatible,其中X是您的目标版本。您也可以在服务器级别进行设置。但是请记住,如果您在同一个框中有多个站点,您可能会遇到这些站点的问题。尽管您可以在服务器级别应用,然后从站点级别删除继承的配置。

两年后,IE的两个新版本,而这个IE8问题仍然会导致问题

我发现,对于我们公司的ASP.Net应用程序,在web.config、网页或其背后的代码中添加“X-UA-Compatible”完全没有什么区别

唯一对我们有效的方法是手动取消选中“在兼容性视图中显示intranet集”复选框:


是否尝试将其添加为
之后的第一个标记?IE似乎只有在元标记列表中第一个出现时才会对此作出响应。@Sliveninja:是的。我把它作为我的第一个标签。还使用我正在使用的确切标记更新了我的问题。然后应该根据此处的流行反馈()进行操作。是否有理由在应用程序\u End方法中添加响应头?这不应该出现在Application\u BeginRequest方法中吗?Application\u End不是正确的事件。请尝试
PreSendRequestHeaders
()是。事实确实如此。虽然我可以自己改变这个设置,但我正在尝试覆盖这个设置(尽管我不知道这有多大意义)。我甚至无法检测到此模式,因为此检查:
if($.browser.msie&&parseInt($.browser.version)!=9){alert(“not IE9!”}
没有发现IE9处于兼容模式的事实。我认为您无法覆盖该兼容设置。请参阅上的注释。如果您在本地运行,请确保通过主机文件伪造“实时查看”URL,它会认为该站点是internet站点。因为在/localhost中工作的web开发人员正是这样做的/想要做-默认情况下在IE7仿真中查看他或她的工作。太棒了,Microsoft。继续吃胶水。这是一个非常有用的提示,解决了我的内部服务器兼容性问题。在此之前,我尝试了你的所有解决方案。这无法覆盖IE认为该站点是intranet站点的想法!这对我很有效。我正在本地使用IIS Express来解决此问题使用JQuery 2开发站点。它与IE 10默认为本地站点的IE 7模式不兼容。请打开配置文件%UserProfile%\My Documents\IISExpress\config\applicationhost.config,并在此处执行相同操作…我不希望所有用户取消选中此复选框:(
Key Value
Response    HTTP/1.1 200 OK
Cache-Control   private
Content-Type    text/html; charset=utf-8
Server  Microsoft-IIS/7.5
X-AspNet-Version    4.0.30319
X-Powered-By    ASP.NET
Date    Thu, 27 Oct 2011 20:39:55 GMT
Content-Length  29088
void Application_BeginRequest(object sender, EventArgs e)
{
    Response.Headers.Add("X-UA-Compatible", "IE=Edge");
}