ASP.NET page running on compatibility view and displays badly - asp.net

I'm developing a website that displays fine in FF or Chrome, but when running on IE, it displays the message below and turn view into compatibility, thus the layout fails to display correctly and some tags and controls such asp menu disappear (still exist in html code).
Can anyone help me solve this problem?
Error Message: A problem displaying localhost caused internet explorer to refresh the page using compatibility view!

There are most likely markup validation errors in your page that is causing IE to fall back to compatibility mode that FF or Chrome may ignore. Ensure that your page passes validation.
Try going here W3C Markup Validation Service and running your HTML or URL through to look for any blatant errors.
The other possibility is that you are explicitly setting the meta tag for IE to force compatibility, e.g.
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
If so, remove it.

Related

What could cause IE10 to block an iframe when running without compatibility view

We're experiencing an issue with our site, YouSIMUL8.com. We use this site to allow people to run simulations on the web. An example simulation can be found at http://www.yousimul8.com/watch.php?x=4d5005d769d31.
If you have a look at what's going with this page, when you press play it loads an iframe in and the simulation is shown there.
I've been speaking to a customer who has been having difficulty using the site. When they open a simulation, only the border of the iframe is shown and nothing else happens. This is using IE10. The problem disappears when compatibility view is turned on.
I cannot replicate this issue with IE10 no matter how hard I try. The customer's IT is outsourced so they cannot access the settings, developer tools or console in IE.
So the question is this: What configuration of the client's machines could cause this behavior?
To force to the rendering of the page to latest version of IE, overriding the automatic compatibility view, try to use the Meta Tag Compatibility View:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Have a look to this StackOverflow post.

z-index problem in IE

I have a map with points on it which the user hovers over to reveal further information.
The problem I have is hard to explain because it only seems to be a problem when the user views the page in IE and when it is hosted on my server. Exactly the same code on the jsfiddle page below works fine.
http://jsfiddle.net/FbYEW/
What happens when hosted on my server is the z-indexes on the popups do not work and the popups appear underneath the other spots. Can anyone think why this might be... it's very frustrating not to be able to replicate the problem for anyone to see.
EDIT:
I was viewing the page hosted on my server in compatibility mode on IE8. If you look at the jsfiddle page in IE the same problem occurs - so nothing to do with my server after all... oops
When hosted from your server, the page is rendering in a browser mode other than IE9 Standards Mode.
For example, if it's rendering in IE7 Mode or Quirks Mode, z-index problems are expected.
Hit F12 to bring up the Developer Tools, and see which it is.
There are many different possibilities as to why this is happening, see:
http://hsivonen.iki.fi/doctype/#ie8modes
If you just want to fix it without working out where the problem is coming from:
<meta http-equiv="X-UA-Compatible" content="IE=edge">

asp.net ScriptManager EnableHistory="true" InvalidOperationException

I manage ajax browser history using asp.net's(v. 4.0) EnableHistory="true" of the ScriptManager & everything has worked fine till today.
I fire my browser from localhost today and I get this error message in IE 9 (only IE)
Message:
Sys.InvalidOperationException: For the
history feature to work in IE, the
page must have an iFrame element with
id '__historyFrame' pointed to a page
that gets its title from the 'title'
query string parameter and calls
Sys.Application._onIFrameLoad() on the
parent window. This can be done by
setting EnableHistory to true on
ScriptManager.
I've undone all modifications I made today, cleared my browser cache+cookies+history+everything and deleted "Temporary ASP.NET Files" both from the Windows and Temp folders but this error wont go away.
Deleting <meta http-equiv="X-UA-Compatible" content="IE=7" /> from my master page however gets rid of the error but its not an option as a lot of styling goes wrong. The meta has been there from the start and everything has worked so my question is why now?
Any pointers to further reset my environment(e.g deleting some hidden files) or some light into what might be going on will be helpfull.
Thanx.
The ScriptManager outputs an iframe to make history management work correctly in IE7. In this case, unfortunately, there is a bug. Your browser is IE9, so it figures you don't need the iframe. But your meta tag makes the client-side behave as IE7, so it does need the iframe. It will be fixed in the next rev of .NET. Until then, you should be able to work around the problem by looking at the iframe content that is rendered when you use compat mode, or an actual IE7, and mimicking that in your page. But you need to make sure it doesn't end up in the page twice when it really is IE7, so only output it if you detect IE >= 8. Make sense, I hope? :)

Enable Compatibility View (IE8) from code-behind?

is there a way that i can add tag in my .aspx page to Enable Compatibility View for Web sites by using Internet Explorer 8 ? without using click on "compatibility" icon on the browser?
Include as the first thing inside <head>:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
I'd strongly recommend fixing whatever site problems you have so the site works properly in IE8-native Standards Mode though. You will get a performance increase from running native in IE8, and even more so in IE9.
You can't actually enable "Compatibility View", but you can use various mechanisms to control the compatibility mode that IE uses to render the page (bobince's suggestion is one). I'd recommend reading: http://msdn.microsoft.com/en-us/library/cc288325%28v=VS.85%29.aspx

How can a page in IE render differently between Cassini and IIS7?

I am completely confused - I have a website that renders perfectly in IE8 when run through Cassini (in Visual Studio) but has several messed up elements (style/look) when deployed to localhost and viewed through the same browser (IE8).
I have run Beyond Compare 3 on the html and CSS files and they are exactly the same. Are there any circumstances where IIS7 could be somehow sending extra/different information to the browser? Has anyone run across something like this before?
Note that Chrome and Firefox both render the same webpage just fine through Cassini and IIS7.
(Update)
What Browser Mode and Document Mode does IE8 Developer Tools think you are in if you press F12?
When running from Cassini (http://localhost:22120), IE8 stays in IE8 mode (with the option for turning on IE7 compatibility view) and everything looks great.
When running from IIS7 (http://{machine name}), IE8 automatically goes into in IE8 Compat View, IE7 standards and things look horrible.
My assumption (as mentioned in my comment earlier) was that IE is working in a different rendering mode, depending on whether you are using IIS or Cassini, and this is causing the layout differences. It actually appears to be IE that is causing this, based on the settings found in Tools | Compatibility View Settings. There are two check boxes:
Display intranet sites in Compatibility View - this is checked by default.
Display all websites in Compatibility View - this is not.
Either way, you should use the standard meta tag to force the mode you wish to be rendered in.
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Hope this helps.
I think the best solution I have found is not far from Paul's one but it tells the browser to use your Internet Explorer version which solved other problems I have with content="IE=8".
Here it is:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
Actually I had the same issue. IE8 has a compatability settings dialog under tools menu. There is a check box which indicates "Display intranet sites in compatability mode".
And not that IE7 compatability mode is not the same as using ie7, there are some differences.
One side note to this issue:
if the same page renders differently on different servers but in the same IE8 browser, check your url - IE8 automatically displays in compatibility mode if the domain is not fully qualified.
If the page content is the same then compare the headers that the servers are sending with the page.
After kicking this around a bit I though about compatibility mode. Try manually forcing IE8 to render the page in compatibility mod. If the render doesn't change then you know that the issue is because IE is rendering that page in compatibility mode when reading it from that web server.
If the latter is the case look into http://msdn.microsoft.com/en-us/library/dd567845%28VS.85%29.aspx

Resources