tags:

views:

363

answers:

2

I'm adding multi language support to a prototype web site. The site was developed using html lables which I could multilanguage using asp:literal or I could change them all to asp:labels as shown below.

<asp:label ID="lblAddress1" runat="server" Text='<%$ Resources:lblAddress1 %>' /></br> 

<label><asp:Literal ID="Literal1" runat="server" Text="<%$ Resources:lblAddress1 %>"></asp:Literal></label>

Web stuff isn't my area of expertise and the guys here don't think there is any advantage one way or the other. What would you choose and why?

+1  A: 

Seems to be a matter of taste. Although I think the second option may add a little weight to the page because literals are usually wrapped in <span>

Rob Stevenson-Leggett
+3  A: 
<asp:Literal>

Use this control as a placeholder for any text you wish to insert in the page. The output will not be wrapped in any html markup tags (simplest).

<asp:Label>

Use this control in the same way as the , however, This control will wrap the text in html tags. These span tags allow the control to have additional properties (css styling etc.) which can be leveraged.

<label>

This html tag has semantic value in a page and is used to associate form elements with their description.

<label for="SaveLoginName">Remember Me:</label>
<input type="checkbox" id="SaveLoginName" />

A browser can use this info to provide additional accessibility features such as enabling clicking text to toggle checkbox value.

Each of these have appropriate usage scenarios.

HectorMac