ASP.NET如何生成HTML?

时间:2014-01-08 12:11:03

标签: html asp.net css google-chrome firefox

我已经交了一个我正在研究的(旧)ASP.NET网站,以前只在IE5-IE9上工作过。我设法修复它,以便它可以在IE11中工作。 (需要一个服务器端.NET修补程序)。

现在我也试图让网站在Firefox和Chrome中正常运行,但不幸的是,decapriated javascript无法正常工作并完全打破了一些关键功能,但我稍后会解决这个问题。

现在我正试图让样式表在跨浏览器中正常工作。我想触摸尽可能少的代码,而不是破坏其他任何东西。从我所看到的是,每个浏览器提供给浏览器的页面是不同的。请参阅这些屏幕截图。

火狐 Firefox

Google Chrome

IE11 IE11

正如您所看到的,每个浏览器提供的代码不同。我不确定浏览器本身是做这个还是ASP.NET。有没有办法强制执行特定的方法?这是ASP.NET方面的代码。 (请注意,这是一个古老的网站。)

    <div id="menuDiv" runat="server">
      <asp:Menu ID="menu" runat="server" StaticMenuItemStyle-CssClass="menu" Visible="False">
        <StaticMenuItemStyle CssClass="menu"></StaticMenuItemStyle>
      </asp:Menu>
    </div>

这是在尝试让它在firefox和IE11中正确显示之后的相关CSS。

.menu a
{
padding-left: 40px;
vertical-align: middle;
width: 100px;
color: #0462a5;
font-weight: bold;
font-size: 14px;
text-decoration: none;
padding-top: 7px;
display: block;
text-align: left;
height: 20px;
color: #0462A5;
background-image: url(Images/web/menu.gif);
}
.menu a:hover
{
color: #000;
background-image: url(Images/web/menu_over.gif);
}

再说一遍,我怎样才能让这些页面为ASP.NET中的每个浏览器返回相同的代码(或相同的样式)?

1 个答案:

答案 0 :(得分:1)

我唯一能想到的可能就是你的应用程序正在使用浏览器定义文件:

http://msdn.microsoft.com/en-us/library/ms228122%28v=vs.85%29.aspx

这些文件将定义要发送到哪个浏览器的标记。我从来没有太在意这个想法,他们过去常常将基于表格的布局而非基于div的布局发送到Firefox的最早版本,因为微软认为它是一个“低级”浏览器,而不是IE 插入滚动眼睛图释这里

查看这些浏览器文件,看看Chrome是否有任何混乱标记。