2010-08-09 31 views
0

我想將我的網頁的設計和實現分離爲單獨的HTML和CSS文件(以便於維護)。使用'#'標識主/內容/ css頁面組合中的標籤的問題

我在項目中定義了以下頁面。

<%@ Page Title="" Language="C#" MasterPageFile="~/STGGeneral.Master" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="SystemManager.Register" %> 

,這使得下面的CSS文件的引用

#UsernameLabel 
{ 
    position: absolute; 
    top: 10px; 
    left: 10px; 
} 

麻煩的是,當ASP.NET生成發送給它發送瀏覽器的代碼如下

<!-- Login Popup --> 
    <input type="image" name="ctl00$LoginButton" id="ctl00_LoginButton" class="LoginButton" src="Images/key.png" style="border-width:0px;" /> 

    <div id="ctl00_LoginFormPanel" class="LoginPanel"> 
     <div id="ctl00_UpdatePanel1">       
       <span id="ctl00_LabelUsername">UserId:</span> 
       <input name="ctl00$UsernameTextBox" type="text" id="ctl00_UsernameTextBox" />    
       <span id="ctl00_LabelPassword" class="StandardLabel">Label</span> 
       <input name="ctl00$PasswordTextBox" type="text" id="ctl00_PasswordTextBox" /> 
       <input type="image" name="ctl00$ConfirmLoginButton" id="ctl00_ConfirmLoginButton" class="ConfirmLoginButton" UseSubmitBehavior="false" src="Images/Security.png" style="border-width:0px;" />     
     </div> 
    </div> 

因爲我的「用戶名」標籤現在稱爲ctl00_LabelUsername通過ASP.NET哪個位置的代碼風格更長的作品。

有沒有辦法告訴ASP.NET我不希望它改變我的對象的名稱,或者你如何在由主/內容頁面組合生成的頁面內使用'#'進行引用。

+0

是否有任何理由你不只是使用一個類? – Sruly 2010-08-09 11:41:35

回答

-2

非常簡單。你改變你的CSS引用ctl00_LabelUsername

+0

簡單但不健壯。你不能依靠創建id的方式將來保持不變。 – Guffa 2010-08-09 11:42:34

+0

哦 - 壞主意。 ctl00_是一個意外,可能會改變。 – n8wrl 2010-08-09 11:42:35

+0

千萬不要這樣做。如果將'LabelUsername'移動到不同的容器中,這會中斷。這是一個完整的維護噩夢。 – GenericTypeTea 2010-08-09 11:42:57

1

如果你不使用ASP.NET 4.0,你可以給一個類的標籤,像

LabelUsername.CSSClass = "LabelClass";

其他你可以嘗試使用CSS選擇喜歡 -

.LoginPanel span 
{ 
    // CSS Propeties for the label. 
} 
相關問題