我正在重新发布这个问题,因为它最初发生了很大的变化,我知道问题出在哪里,但我不知道如何解决它,或者根本不知道它的原因。
所以我有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>
<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>
<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");
}
}
答案 0 :(得分:1)
答案 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加载正常并且工作正常....