【发布时间】:2012-04-20 03:23:01
【问题描述】:
由于某种原因,当我在 IIS 服务器上部署我的应用程序时,菜单项似乎忽略或选择了不正确的 css。
这是部署到 IIS6 时的 html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>
</title><link href="Styles/Site.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form method="post" action="Default.aspx" id="ctl01">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE2NTYxMDM2MDYPZBYCZg9kFgICAw9kFgICBQ9kFgYCAQ8PFgYeBFRleHQFHEdEUyBUcmFkZSBmZWVkIGZpbGUgZGV0ZWN0ZWQeCUZvcmVDb2xvcgolHgRfIVNCAgRkZAIDDzwrABECAA8WBB4LXyFEYXRhQm91bmRnHgtfIUl0ZW1Db3VudAIBZAEQFgAWABYAFgJmD2QWBAIBD2QWBmYPDxYCHwAFDEVVUl9DTVNSQUNDM2RkAgEPDxYCHwAFDEVVUl9DTVNSQUNDM2RkAgIPDxYCHwAFEzIzLzAzLzIwMTIgMTA6MzA6MzVkZAICDw8WAh4HVmlzaWJsZWhkZAIHDzwrABECAA8WBB8DZx8EAgJkARAWABYAFgAWAmYPZBYGAgEPZBYGZg8PFgIfAAUIQmVybSBHQlBkZAIBDw8WAh8ABQZnZHNsZG5kZAICDw8WAh8ABQhCZXJtIEdCUGRkAgIPZBYGZg8PFgIfAAUMR0JQIEVYTyBCQVNFZGQCAQ8PFgIfAAUGZ2RzbGRuZGQCAg8PFgIfAAUMR0JQIEVYTyBCQVNFZGQCAw8PFgIfBWhkZBgEBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAgUpY3RsMDAkSGVhZExvZ2luVmlldyRIZWFkTG9naW5TdGF0dXMkY3RsMDEFKWN0bDAwJEhlYWRMb2dpblZpZXckSGVhZExvZ2luU3RhdHVzJGN0bDAzBSFjdGwwMCRNYWluQ29udGVudCRHRFNfQktfR3JpZHZpZXcPPCsADAEIAgFkBR1jdGwwMCRNYWluQ29udGVudCRDQUZfQktfR3JpZA88KwAMAQgCAWQFE2N0bDAwJEhlYWRMb2dpblZpZXcPD2QCAWQXvkqySzPs02Fx8dSg92SF1P6wakC6uTViBjZnDE5UKA==" />
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['ctl01'];
if (!theForm) {
theForm = document.ctl01;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
这是在本地主机上
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>
</title><link href="Styles/Site.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.ctl00_NavigationMenu_0 { background-color:white;visibility:hidden;display:none;position:absolute;left:0px;top:0px; }
.ctl00_NavigationMenu_1 { text-decoration:none; }
.ctl00_NavigationMenu_2 { }
.ctl00_NavigationMenu_3 { border-style:none; }
.ctl00_NavigationMenu_4 { }
</style></head>
<body>
<form name="aspnetForm" method="post" action="Login.aspx?ReturnUrl=%2fDefault.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUIMTgxOTUzNzlkZCNjjPhsCt06uFnsECs0BUpSQWBv" />
</div>
<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>
任何想法为什么在部署时会导致问题?网站正在使用母版页和表单身份验证,尽管标题和其他布局功能在 css 表中运行良好。
注意,我刚刚从 apache 网络服务器转移到 iis,并且在 Apache 上运行良好。
非常感谢任何帮助。
这是母版页的代码,这里有什么明显的吗?
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="FoundryStatusReport.SiteMaster" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form runat="server">
<div class="page">
<div class="header">
<div class="title">
<h1 style="font-family: Tahoma; font-weight: normal; font-style: normal; font-variant: normal; text-transform: none;">
Report <br />
</h1>
</div>
<div class="loginDisplay">
<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<AnonymousTemplate>
[ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ]
</AnonymousTemplate>
<LoggedInTemplate>
Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>!
[ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/Login.aspx"/> ]
</LoggedInTemplate>
</asp:LoginView>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu"
EnableViewState="False" IncludeStyleBlock="false" Orientation="Horizontal"
StaticMenuItemStyle-CssClass="MenuItemCSS">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home" />
</Items>
</asp:Menu>
</div>
</div>
<div class="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
</div>
<div class="clear">
</div>
</div>
<div class="footer">
<asp:HyperLink ID="HyperLink1" runat="server" Font-Names="Tahoma"
Font-Size="Medium" ForeColor="Red" NavigateUrl="~/Default.aspx">London Checks</asp:HyperLink>
<asp:HyperLink ID="HyperLink2" runat="server" Font-Names="Tahoma"
Font-Size="Medium" ForeColor="#006600" NavigateUrl="~/Pages/HKG_Exotics.aspx">Asia Checks</asp:HyperLink>
</div>
</form>
</body>
</html>
【问题讨论】:
-
是什么注入了那个菜单css?如果它只是嵌入到母版中,那么我会说您实际上并没有部署母版页。去查看服务器本身的文件,看看它是否包含您的代码。
-
是的,我的 site.master 已部署。我注意到母版页中的标题等看起来也不错。此外,菜单上的项目也只是失去了样式。我不确定 .ct100 是从哪里来的。您认为启用表单身份验证是否会导致某种障碍?
-
default.aspx页面的层次结构和相关的css是什么,可以发一下文件夹结构吗?
-
好的,我现在已经删除了身份验证,所以这不是问题...所以我的 Default.aspx 与 site.master 在根文件夹中。 Site.CSS 位于 Style 子文件夹中。
-
我不明白为什么这已开始成为新网络服务器上的问题。是否有可能影响此的 IIS 设置?