Angie
Angie

Reputation: 313

css stopped working asp.net

I am reposting the question, since it has changed a lot since I had problems with it initially, I know where the problem is but i do not know how to fix it, or the cause of it at all.

So i have 2 master files, one is for a login page and another one for the inside content. I also have a default.aspx file and a logout.aspx file. They both use the MasterPage.master which is the initial page. What i found out is, when I exclude the Logout.aspx from the project and run it, the website initial page uses the .css file. When I include the logout.aspx debug the program, the initial screen uses the .css at first then when i log in and log out, it shows the default.aspx without the .css. If I try to debug the page again, then the initial screen no longer uses the .css.

My master class has this:

<%@ 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>

Default aspx and default.cs are both empty like so:

   <%@ 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>

As well as logout except for the logout.aspx.cs which contains the logout function:

<%@ 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");

    }
}

Upvotes: 0

Views: 1606

Answers (4)

Tim B James
Tim B James

Reputation: 20374

I suspect that your Site.css is not in the same folder as your MasterPage/ContentPage.

If your link to the stylesheet is simply Site.css then what ever the folder your MasterPage/ContentPage or just the ContentPage is in will be looking for the stylesheet in that folder.

e.g. if using <link rel="Stylesheet" type="text/css" href="Site.css" />

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

If you change your stylesheet to using <link rel="Stylesheet" type="text/css" href="/Site.css" /> Then your website will look for the stylesheet in the root directory. HOWEVER, if your website is running as

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

"WebsiteFolder", then having /Site.css will look for the css file outside of the "WebsiteFolder"

Please post the folder structure of your site, also whether your site is running with a Virtual Path. To find the Virtual Path, view the properties for the website.

Upvotes: 1

Gaurav Agrawal
Gaurav Agrawal

Reputation: 4431

use

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

instead of

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

after that css loads properly and works fine....

Upvotes: 0

immutabl
immutabl

Reputation: 6903

Try viewing the source of a page on the site and look for the <link ...> tag. What css file does it point to?

Upvotes: 1

spender
spender

Reputation: 120548

Take a look at browser requests in firebug / fiddler / charles to see what's happening to the request for the CSS file.

Upvotes: 1

Related Questions