web-dev-qa-db-ja.com

ASP.Net Webフォームでのラベルの使用方法

これを純粋なHTMLとして取得します。

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

Visual Studioの実際のコードでは、次のようになっています。

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

このテキストボックスにラベルを付けるにはどうすればよいですか?

35
delete

Haackedの このブログの投稿 で詳しく説明されている<asp:Label...>を使用する必要があります

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

これは、変換されるIDで正しく変換されるはずです。

70
ChrisF

私と同じGoogle検索でここにアクセスした他のユーザーの場合...ラベルタグの「for」属性は、スクリーンリーダーなどのアクセシビリティツールを使用しているユーザーがラベルのテキストボックスを知るのに役立ちます。

0
Garrett Banuk

アクセシビリティーのために、ラベルの内側にいくつかの入力をラップすることをお勧めします(これを参照してください )。

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

私は post からこの回答を得ました。これは、元の質問のコメントに記載されているためです。

0