我很努力在我的asp.net WebForms應用程序的內容頁面中實現外部CSS文件。因此,內容頁面有一個母版頁(的Site.Master),其中包括我的頭部分以下代碼:在asp.net WebForms應用程序的.aspx內容頁中未實現外部css文件
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
<link href="Styles/pokerpsych.css" rel="stylesheet" type="text/css" />
</asp:ContentPlaceHolder>
的ASP:標籤的ContentPlaceHolder因此,包含我想申請的鏈接CSS文件到所有頁面。因此,此鏈接中的樣式已成功應用於Site.Master頁面的主體標籤中的內容,但是此文件中指定的樣式不適用於爲內容頁面指定的ID。在我的內容頁我有,例如下面的代碼:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="PostHand.aspx.cs" Inherits="PokerPuzzleWebforms.PostHand" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<header>
<h1>Post your hand here</h1>
</header>
<main>
<label runat="server" for="titleBox" id="titleLabel" >Title</label>
<input type="text" id="titleBox" name="titleBox" runat="server" />
</main>
</asp:Content>
因此我試圖將樣式應用到標籤的文本框(id="titleLabel"
)雖然我還沒有成功。
我驗證了CSS文件,似乎沒有錯誤。我也試圖通過將下面的代碼在內容頁面覆蓋與另一個外部CSS文件中pokerpsych.css:
<asp:Content ID="Head" ContentPlaceHolderID="HeadContent" runat="server">
<link href="Styles/posthandstyle.css" rel="stylesheet" type="text/css" runat="server"/>
</asp:Content>
我也試過在ASP中嵌入風格標籤:內容標籤雖然這並不成功。但是,我只能在使用內聯樣式時將樣式應用於ID,但我更願意包含外部文件以應用樣式。
下面是CSS文件(pokerpsych.css):
body {
}
#test{
color:red;
}
#titleLabel {
color:red !important;
margin-right:100px;
}
暫時將當前CSS鏈接註釋掉。將CSS文件從解決方案資源管理器拖到主頁面。在瀏覽器中點擊F5,看看它是否有效。 – IrishChieftain
可能是由'webforms'中的動態ID處理引起的。呈現的HTML中的文本框ID可能與僅僅'titleLabel'不同。通過呈現頁面上的「查看源代碼」進行檢查。最簡單的解決方法可能是創建基於類的CSS,並在ASPX頁面的控件中引用正確的類。 – user1429080
謝謝,似乎問題在於動態ID處理。查看源指出該ID已與容器「MainContent_titleLabel」合併。使用類似乎解決了這個問題 – Vikes