Wie die <label> - tag in ASP.NET?
Wie kann ich die <label>
tag in einer ASP.NET Anwendung? Ich will, dass es gültig ist, zugänglich und nutzbar sind.
Verstehe ich die optimale HTML-Möglichkeit ist diese:
<label for="Username">Username:</label>
<input type="text" id="Username" runat="server" />
Aber wenn der obige code ist in einem ASP.NET Benutzer-Steuerung, die Eingabe-ID zu ändern, was bedeutet die Bezeichnung "for" - Attribut ist nutzlos. Ich könnte das label-tag ein server-Steuerelement, und legen Sie die "for" - Attribut im code (Username.ClientID
), aber es scheint wie eine Menge Arbeit für so eine einfache Sache.
Habe ich auch gesehen, das HTML in der Vergangenheit verwendet:
<label>
<span>Username</span>
<input type="text" id="Username" runat="server" />
</label>
Was ist der richtige Ansatz?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benutze ich
<asp:Label ... AssociatedControlID="Username" ...>
Steuerung für diese. Bekommen Sie dargestellt, als<label>
tags, und legen Sie diefor
Attribut entsprechend.Beachten Sie, dass Sie können auch verschachtelt werden, anderen tags innerhalb des Label-Steuerelements, wenn Sie möchten:
UsernameLabe.Text = "some error message"
wird verursachen, dass die TextBox-Steuerelement zu verschwinden, und es wirft einen HttpException, weil Sie nicht finden können, die zugeordnete Steuerelement.Können Sie auch schreiben, wie diese:
Phil Haack hat eine blog-post zu diesem Thema
verwenden Sie die
<asp:Label>
server Steuern. Es hat eine Eigenschaft, die Sie verwenden können, um das zugeordnete Steuerelement-ID.Ich denke, der einfachste Weg, es zu tun ist.
Wenn Sie mit .NET 4 können Sie jetzt mit der ClientIDMode-Eigenschaft konfigurieren Sie ein oder mehrere Steuerelemente verwenden statische oder vorhersehbar-ID ist. Der ClientIDMode-Eigenschaft kann festgelegt werden, auf das Textfeld direkt oder Sie können es auf jedem übergeordneten Steuerung oder der enthaltenden Seite benutzt werden.
Lesen Sie mehr über die ClientIDMode auf MSDN
Wenn Sie ein label haben wollen, aber nicht über ein anderes Steuerelement zu verwenden, in
AssociatedControlID
man kann das label selbstDu meine auch probieren und so:
Dies ist, was Visual Studio oder andere software gibt, wenn Sie drag-and-drop ein label.