【问题标题】:IIS issue with CSS (asp.NET)CSS (asp.NET) 的 IIS 问题
【发布时间】: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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <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 设置?

标签: asp.net iis-6


【解决方案1】:

好的,这实际上是由于在网络服务器中指定了不同的 ASP.NET 版本。指定版本是 4 而不是 2.x。

http://abhijitjana.net/2010/05/18/css-friendly-menu-control-in-asp-net-4-0/

谢谢大家

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多