css停止了asp.net的工作

时间:2011-06-23 10:33:14

标签: asp.net css visual-studio-2010

我正在重新发布这个问题,因为它最初发生了很大的变化,我知道问题出在哪里,但我不知道如何解决它,或者根本不知道它的原因。

所以我有2个主文件,一个用于登录页面,另一个用于内部内容。我还有一个default.aspx文件和一个logout.aspx文件。他们都使用MasterPage.master这是初始页面。我发现的是,当我从项目中排除Logout.aspx并运行它时,网站初始页面使用.css文件。当我包含logout.aspx调试程序时,初始屏幕首先使用.css然后当我登录并注销时,它显示没有.css的default.aspx。如果我再次尝试调试页面,则初始屏幕不再使用.css。

我的大师班有这个:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <link href="~/StyleSheet.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>

<body>
    <form runat="server">
        <div class="login">
            <div class="container">
               <div class="header">
                   <h1 id="site-name">
                        <font color="black" size="5">SES Users Admin</font>
                   </h1>
                </div>
                 <!--Hello Content -->
                <div class="content">
                        <asp:Label ID="lblUsername" runat="server" Text="Username"></asp:Label>
                        &nbsp;&nbsp;&nbsp;
                        <asp:TextBox ID="txtUsername" runat="server" Height="21px" 
                            style="margin-left: 2px" Width="133px"></asp:TextBox>
                        <br /><br />
                        <asp:Label ID="lblPassword" runat="server" Text="Password"></asp:Label>
                        &nbsp;&nbsp;&nbsp;
                        <asp:TextBox ID="txtPassword" runat="server" TextMode="Password" Height="20px" 
                            style="margin-left: 4px" Width="133px"></asp:TextBox>
                        <br /><br />
                        <div class="button">
                        <asp:label id="lblResult" runat="server" Width="100%"></asp:label>
                            <asp:Button ID="btnLogin" runat="server" Text="Login" OnClick="btnlogin_Click" 
                                Width="57px" Height="21px"/>
                        </div>
                </div>

            </div>

        </div>
            <asp:ContentPlaceHolder ID="MainContent" runat="server"/>
    </form>
</body>
</html>

默认的aspx和default.cs都是空的,如下所示:

   <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
        CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="head">
    </asp:Content>
    <asp:Content ID="MainerContent" runat="server" ContentPlaceHolderID="MainContent">

    </asp:Content>

除了包含注销功能的logout.aspx.cs之外的注销:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
    CodeFile="Logout.aspx.cs" Inherits="Logout" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="head">
</asp:Content>
<asp:Content ID="MainerContent" runat="server" ContentPlaceHolderID="MainContent">

</asp:Content>

CS

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using HelloApp;

public partial class Logout : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        FormsAuthentication.SignOut();
        Response.Redirect("default.aspx");

    }
}

4 个答案:

答案 0 :(得分:1)

查看firebug / fiddler / charles中的浏览器请求,了解CSS文件请求的执行情况。

答案 1 :(得分:1)

尝试查看网站上的网页来源并查找<link ...>标记。它指向什么css文件?

答案 2 :(得分:1)

我怀疑您的Site.css与MasterPage / ContentPage不在同一文件夹中。

如果您到样式表的链接只是Site.css,那么您的MasterPage / ContentPage或ContentPage所在的文件夹将在该文件夹中查找样式表。

e.g。如果使用<link rel="Stylesheet" type="text/css" href="Site.css" />

/Folder1/ContentPage.aspx will be looking for /Folder1/Site.css

如果您将样式表更改为使用<link rel="Stylesheet" type="text/css" href="/Site.css" />那么您的网站将在根目录中查找样式表。但是,如果您的网站正在运行

`http:// localhost:1234 / WebsiteFolder / ContentPage'

“WebsiteFolder”,然后让/Site.css查找“WebsiteFolder”之外的css文件

请发布您网站的文件夹结构,以及您的网站是否使用虚拟路径运行。要查找虚拟路径,请查看网站的属性。

答案 3 :(得分:0)

使用

<link href="~/Site.css" runat="server" id="link1" rel="stylesheet" type="text/css" />

而不是

<link href="Site.css" rel="stylesheet" type="text/css" />

之后css加载正常并且工作正常....