2009-02-04 45 views

回答

20

的主要區別是,標籤控制添加span標籤您設置的文本(財產),允許一個樣式應用到它:

<span>My Label text</span> 

文字控制可以讓你呈現任何類型的內容。您可以使用它來呈現腳本,hmtl和任何其他類型的文檔內容。它不會更改您在Text屬性中提供的字符串。

注意:Label控件也允許您呈現直線HTML,但它會將所有文本放在span標記中,如前所述。所以,爲了渲染大型的HTML部分,Literal控件是最好的選擇。

P.S:HTML有一個<label>標籤。如果使用Label控件的AssociatedControlId屬性,則呈現爲HTML <label>(感謝雷指出了這一點。)

例如:

<asp:Label runat="server" id="FirstNameLabel" AssociatedControlId="FirstNameTextBox"> 
Input First Name: 
</asp:Label> 
<asp:Textbox runat="server" id="FirstNameTextBox" /> 

會呈現:

<label for="FirstNameTextbox" id="FirstNameLabel">Input first name:</label> 
<input type="text" id="FirstNameTextbox" name="FirstNameTextBox" /> 

另請參閱W3學校的here

+0

Literal?不要插入跨度? – ecleel 2009-02-04 11:53:23

+0

不,文字控件直接插入您插入的文本,而不更改它。 – splattne 2009-02-04 11:56:23

2

它用於在頁面上顯示文本,顯示的文本可以在運行時通過服務器端代碼進行設置。

0

它將正確放置您在頁面上放置的任何文本。您可以使用它來編寫html,JavaScript或純文本。

2

標籤控件還具有將標籤與另一個控件相關聯的AssociatedControlId屬性。一個有用的例子是使用一個文本框控件。一旦這些相關聯,屏幕閱讀器就能夠提供更好的結果。

另一個例子是帶標籤的單選按鈕允許您單擊標籤,單選按鈕將選擇是否設置了AssociatedControlId屬性。

MSDN on AssoicatedControlId

1

由於splattne提到,標籤封裝在它的跨度文字,而文字僅僅是一個佔位符。但是,在做出關於ASP.Net控件如何呈現的假設時要小心。它可以取決於您正在使用的用戶代理。例如,面板控件在IE中呈現爲div,但呈現爲Firefox中的表格。

4

還有一點需要注意的是,如果您正在使用它來顯示內容並且不需要格式化文本,請使用Literal控件。 ViewState不像Literal vs Label控件那樣沉重,當你在使用ViewState的頁面上使用ViewState時,它確實會讓你的頁面大小膨脹。

我總是問自己,我是否需要應用自定義樣式或格式?是的,使用標籤。不,使用文字。

0
  • 我們可以在標題標籤使用文字控制,而標籤不能在標題標籤
  • 標籤可用於將焦點設置文本框一樣其他控件使用。 雖然文字只是rander網頁
0

在許多方面對靜態文本文字控件類似於Label控件。這兩個控件都用於在Web窗體上顯示文本。 Text屬性可以在HTML或代碼隱藏中設置。渲染時

2. Label控件封裝在一個span標籤的文本。任何應用於Label控件的樣式都將使用span標籤的style屬性進行渲染。

例如,下面的HTML

<asp:Label ID="Label1" runat="server" Text="Lable Text" 
ForeColor="Red" Font-Bold="true" ></asp:Label> 

將呈現爲

<span id="Label1" style="color:Red;font-weight:bold;">Lable Text</span> 

3.甲字面控制,不輸出任何周圍的標籤。文本按原樣顯示。

例如,下面的HTML

<asp:Literal ID="Literal1" runat="server" 
Text="Literal Control Text"></asp:Literal> 

將呈現爲

文字控制文字

4.如果你想要的任何樣式應用到比使用標籤控制,否則文字控制

8.立即控制是一種重量輕的控制中,當具有Label對照相比。