web-dev-qa-db-fra.com

Comment utiliser label dans un formulaire Web ASP.Net?

Je reçois ceci en HTML pur:

<label for="txtPais">Pais:</label>    
<input name="ctl00$ContentPlaceHolder1$txtPais" type="text" id="ctl00_ContentPlaceHolder1_txtPais" class="textInput" />

Dans mon code actuel dans Visual Studio, j'ai ceci:

<label for="txtPais">Pais:</label>    
<asp:TextBox ID="txtPais" runat="server" CssClass="textInput"></asp:TextBox>

Comment appliquer une étiquette pour cette zone de texte?

32
delete

Vous devriez utiliser le <asp:Label...> comme détaillé dans ce billet de blog sur Haacked

<asp:Label id="label" AssociatedControlId="txtPais" Text="Pais:" runat="server" />
<asp:TextBox id="txtPais" runat="server" CssClass="textInput" />

Cela devrait convertir correctement avec l'ID en cours de conversion.

66
ChrisF

Il est recommandé de placer certaines entrées à l'intérieur des étiquettes pour en améliorer l'accessibilité (voir ceci exemple ).

<asp:Label ID="UsernameLabel"
           Text="Username:"
           AssociatedControlID="UsernameTextBox"
           runat="server">
    <asp:TextBox ID="UsernameTextBox" runat="server" />
</asp:Label>

J'ai eu cette réponse du post qui, comme il se passe, est mentionnée dans un commentaire dans la question initiale. 

0