【问题标题】:CSS works locally but not on Dev serverCSS 在本地工作,但不能在开发服务器上工作
【发布时间】:2011-09-16 00:10:22
【问题描述】:

我有一个页面显示票务系统中的票号。当页面加载时,它会生成一个票号并在标签中显示该号码。它还根据生成的票证动态地将 cssclass 添加到标签中。这在本地工作正常,但是当我将它上传到开发服务器时,cssclass 没有显示。在同一个 aspx 页面上还有另一个项目,它在前端添加了一个 cssclass,并且显示正常。我从开发服务器的页面查看了 yiew 源代码,看来该类在后端添加得很好。

这是aspx:

<table width="300">
    <tr>
        <td class="ItemTxt">Customer Track Number</td>
    </tr>
    <tr>
        <td align="left">
            <p>The customer track number is: </p>
            <p style="text-align:center"><asp:Label ID="lblTrackNum" runat="server" Text="Label" CssClass="greenTicketColor"></asp:Label></p>
            <p>Click OK to continue and return to the Lobby Dash.</p>

            <p><asp:Button ID="btnOK" runat="server" Text="OK" onclick="btnOK_Click" /></p>
        </td>
    </tr>
</table>
enter code here

下面是代码

private void DisplayTicketNumber(string sTicketNumber)
    {
        string sTrackColor = sTicketNumber.Substring(0, 1);
        switch (sTrackColor)
        {
            case "G":
                lblTrackNum.CssClass = "greenTicketColor";
                break;
            case "R":
                lblTrackNum.CssClass = "redTicketColor";
                break;
            case "B":
                lblTrackNum.CssClass = "blueTicketColor";
                break;
            case "M":
                lblTrackNum.CssClass = "maoTicketColor";
                break;
            case "V":
                lblTrackNum.CssClass = "vandeTicketColor";
                break;
            case "A":
                lblTrackNum.CssClass = "afipTicketColor";
                break;
            case "E":
                lblTrackNum.CssClass = "ebtTicketColor";
                break;
            case "Q":
                lblTrackNum.CssClass = "qaTicketColor";
                break;
            case "F":
                lblTrackNum.CssClass = "fhTicketColor";
                break;
            default:
                break;
        }
        lblTrackNum.Text = sTicketNumber;
    }

这里是 CSS

    .greenTicketColor
{
    color: #007F00;
    font-size: 50px;
    font-weight: bold;
}
.redTicketColor
{
    color: #DF0000;
    font-size: 50px;
    font-weight: bold;
}

.blueTicketColor
{
    color: #0065CB;
    font-size: 50px;
    font-weight: bold;
}

.maoTicketColor
{
    color: #959595;
    font-size: 50px;
    font-weight: bold;
}

.vandeTicketColor
{
    color: #7f007f;
    font-size: 50px;
    font-weight: bold;
}

.afipTicketColor
{
    color: #00cbfd;
    font-size: 50px;
    font-weight: bold;
}

.ebtTicketColor
{
    color: #fd98cb;
    font-size: 50px;
    font-weight: bold;
}

.qaTicketColor
{
    color: #cbfdcb;
    font-size: 50px;
    font-weight: bold;
}

.fhTicketColor
{
    color: #fdfd00;
    font-size: 50px;
    font-weight: bold;
}

这是从服务器显示的页面的视图源。请注意,它显示了正确添加的类。

<table width="300">
<tr>
    <td class="ItemTxt">Customer Track Number</td>
</tr>
<tr>
    <td align="left">
        <p>The customer track number is: </p>
        <p style="text-align:center"><span id="MainContent_lblTrackNum" class="blueTicketColor">B6</span></p>
        <p>Click OK to continue and return to the Lobby Dash.</p>

        <p><input type="submit" name="ctl00$MainContent$btnOK" value="OK" id="MainContent_btnOK" /></p>
    </td>
</tr>

感谢您的回复。我知道最简单的事情是对 css 文件的引用。如果您查看此行,则样式显示正确:

<td class="ItemTxt">Customer Track Number</td> 

上面的代码行在 aspx 页面上。在代码隐藏中添加的样式未显示。这是我的主要内容。这是来自母版页。不知道有没有关系。。

<head runat="server"> 
<title>FAST Tracker</title> 
<link href="~/Styles/FastTrackStyles.css" rel="stylesheet" type="text/css" /> 
<asp:ContentPlaceHolder ID="HeadContent" runat="server"> 
</asp:ContentPlaceHolder> 
</head> 

【问题讨论】:

  • 您可以在引用 css 文件的位置添加代码吗?最简单的答案是不包括您的 css 文件。
  • 如果您使用的是 firebug/dragonfly 或类似的东西,您还可以检查您的 css 文件是否被浏览器请求
  • 请包含您的html&lt;head&gt;代码,即引用您的CSS文件的代码。问题可能是由于文件未包含在发布中,或者很可能是路径不正确。
  • 有没有人知道如何解决这个问题???

标签: asp.net css


【解决方案1】:

您确定您已将 CSS 文件上传到服务器并正确引用它。如果您在开发服务器上运行时使用 FireBug 或查看 HTML 页面的源代码,您可以通过单击标签中的 URL 导航到 css 文件

【讨论】:

  • 是的,我很肯定我上传了 css 文件。如果您查看表的第一个 ,则会有一个 cssclass="ItemTxt" 正确显示。该表中 2 个 cssclass 的唯一区别是一个应用于 aspx 页面,另一个(不工作)应用于 C# 代码隐藏页面。我没有使用过 FireBug,但我可以导航到开发服务器上的 css 文件。
  • 没有缓存缓存发生在任何地方?内存缓存?
【解决方案2】:

本地主机通常不区分大小写,但服务器是。 检查您的路径(区分大小写)...

【讨论】:

  • 我检查了所有路径。对 css 的引用位于母版页中,并且 css 在除此实例之外的任何地方都有效。唯一的区别是这个css被添加到代码隐藏中的一个实例。
【解决方案3】:

我遇到了类似的问题,我的解决方案是确保正确设置了虚拟目录权限,否则 CSS 和图像将不会显示。

您通常可以右键单击 IIS 中的另一个 Web 应用程序来查看您的 Web 应用程序要引用的权限。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签