53

<label>ASP.NET アプリケーション内でタグを使用するにはどうすればよいですか? 有効で、アクセス可能で、使用できるものにしたい.

最適な HTML の方法は次のとおりです。

<label for="Username">Username:</label>
<input type="text" id="Username" runat="server" />

ただし、上記のコードが ASP.NET ユーザー コントロール内にある場合、入力 ID が変更されます。つまり、ラベルの「for」属性は役に立ちません。ラベル タグをサーバー コントロールにして、その "for" 属性をコードに設定することもできます ( Username.ClientID)。

過去に次の HTML が使用されていることも確認しました。

<label>
    <span>Username</span>
    <input type="text" id="Username" runat="server" />
</label>

適切なアプローチは何ですか?

4

8 に答える 8

74

<asp:Label ... AssociatedControlID="Username" ...>これにはコントロールを使用します。<label>それらはタグとしてレンダリングされ、for属性を適切に設定します。

必要に応じて、Label コントロール内に他のタグをネストすることもできます。

<asp:Label ID="UsernameLabel"
           Text="Username:"
           AssociatedControlID="UsernameTextBox"
           runat="server">
    <asp:TextBox ID="UsernameTextBox" runat="server" />
</asp:Label>
于 2009-01-29T22:41:30.660 に答える
17

次のように書くこともできます。

<label for="<%= Username.ClientID %>">Username:</label>
<asp:TextBox ID="Username" runat="server" />

Phil Haack がこのトピックに関するブログ投稿をしています。

于 2010-07-29T04:43:08.010 に答える
10

<asp:Label>サーバー コントロールを使用します。関連するコントロール ID を設定するために使用できるプロパティがあります。

<asp:Label ID="label1" runat="server" Text="Username" AssociatedControlID="Text1" />
<asp:TextBox ID="Text1" runat="server" />
于 2009-01-29T22:43:35.447 に答える
7

これが一番やりやすいと思います。

<asp:Label AssociatedControlID="Username" runat="server" Text="Username:"></asp:Label>
<asp:TextBox ID="Username" runat="server"></asp:TextBox>
于 2009-01-29T22:43:44.883 に答える
3

.NET 4 を使用している場合は、ClientIDMode プロパティを使用して、1 つまたは複数のコントロールを静的または予測可能な ID を使用するように構成できるようになりました。ClientIDMode プロパティは、TextBox で直接設定するか、任意の親コントロールまたはそれを含むページで設定できます。

<label for="Username">Username:</label>
<asp:TextBox ID="Username" runat="server" ClientIDMode="Static" />

MSDNの ClientIDMode の詳細を読む

于 2011-05-21T14:21:21.473 に答える
-1

あなたもこれを試してみてください:

<asp:Label  ID="Label1" runat="server" Text="label"></asp:Label>

これは、ラベルをドラッグ アンド ドロップした場合に、Visual Studio またはその他のソフトウェアが提供するものです。

于 2016-05-10T12:29:18.493 に答える
-1
<p><asp:Label ID="label1"           Text="Username:"           AssociatedControlID="txtUserName"           runat="server">    <asp:TextBox ID="txtUserName" runat="server" /></asp:Label></p>
于 2009-01-30T09:53:24.253 に答える