ASP.NET网站在部署时看起来不同

时间:2011-03-02 09:09:58

标签: asp.net debugging internet-explorer appearance

我已经搜索了这个问题的答案,但还没有提出任何问题。也许我使用的搜索词过于通用......无论如何,这里是:

我发现网页设计和ASP.NET的乐趣,以及尝试在IE和所有其他浏览器中以相同方式显示内容的噩梦。 我在VS2010工作并使用IE8调试我的网站。我真正没有得到的是为什么我发布它的网站在IE中看起来与它在调试模式下看起来的方式不同...我的意思只是小事情,比如网格视图中的边框在发布的网站中消失,简单的html横向规则也不一样。

它也搞砸了我的列表菜单非常糟糕,但我设法通过* display:inline;黑客攻击。奇怪的是它在调试模式下不需要它,但需要它用于已发布的网站。

我在自己的机器上托管该网站,运行Win XP Pro并使用.NET 4.0通过IIS托管...问题可能与IIS有关吗?

任何帮助都会非常感激,因为这些差异只是荒谬而且让我陷入绝望。我希望这里的每个人都能使用Chrome或Safari,但不幸的是IE仍然在日本统治......

5 个答案:

答案 0 :(得分:11)

这对我有用,会覆盖ie中的设置

网页的HEAD元素中的META标记(或在母版页中更好)

<meta http-equiv=“X-UA-Compatible” content=“IE=8” />

将此处链接至信息 http://blogs.msdn.com/b/askie/archive/2009/03/23/understanding-compatibility-modes-in-internet-explorer-8.aspx

答案 1 :(得分:6)

我见过与受信任的站点/内部网站点/互联网站点安全设置相关的类似行为。在调试模式下运行时,您使用的URL与发布时的URL不同吗?有时当我使用像http://localhost/xxx之类的URL进行调试时,当我使用像http://machinename.domain.com/xxx这样的URL直接从IIS访问同一站点时,我会看到一个解析为可信站点或本地内部网,另一个解析为互联网,它会根据IE设置改变外观。

答案 2 :(得分:6)

我发现在IIS中的HTTP响应标头中覆盖兼容性更好,添加标题:

X-UA-Compatible: IE=Edge

IE=Edge部分将设置兼容性以使用可用的最高模式,将适用于所有用户,并且也适用于网站中的所有页面,同时只需将标题放在一个位置。

答案 3 :(得分:1)

对于使用ASP.NET MVC的用户,可以添加kgp4death的

<meta http-equiv=“X-UA-Compatible” content=“IE=8” />

到_Layout.cshtml中的head元素。

答案 4 :(得分:0)

我认为你没有在<script src="path">中给出正确的路径。请检查您的路径并检查相关文件您必须将此文件放在项目文件夹

我希望这个建议可以解决你的问题