2016-12-29 34 views
1

我很努力在我的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; 
} 
+0

暫時將當前CSS鏈接註釋掉。將CSS文件從解決方案資源管理器拖到主頁面。在瀏覽器中點擊F5,看看它是否有效。 – IrishChieftain

+1

可能是由'webforms'中的動態ID處理引起的。呈現的HTML中的文本框ID可能與僅僅'titleLabel'不同。通過呈現頁面上的「查看源代碼」進行檢查。最簡單的解決方法可能是創建基於類的CSS,並在ASPX頁面的控件中引用正確的類。 – user1429080

+0

謝謝,似乎問題在於動態ID處理。查看源指出該ID已與容器「MainContent_titleLabel」合併。使用類似乎解決了這個問題 – Vikes

回答

0

user1429080's comment

這是通過動態ID的處理方式在Web窗體可能引起的。呈現的HTML中的文本框ID可能與titleLabel不同。在呈現的頁面上查看源代碼。

最簡單的解決方法可能是使用基於類的CSS,並在ASPX頁面中的控件上引用正確的類而不是ID。

相關問題