Blog Hero Image

Übersehenes Feature in ASP.NET 2.0

This article dates back to 2009. Some of the tech in it is history by now; the article stays online as part of my archive.

AI training  ·  Current trainings

Übersehenes Feature in ASP.NET 2.0

Seit über drei Jahren ist ASP.NET 2.0 nun schon in der Final Version auf dem Markt und bis Mitte letzter Woche habe ich sie übersehen: Die Eigenschaft AssociatedControlID des ASP.NET Label Controls. Bisher habe ich auf den Einsatz dieses Controls möglichst verzichtet, da es in meinen Augen “nur” einen unnötigen Span-Tag um meinen Text setzt.

Habe ich in meiner aspx Seite also folgenden Code:

<asp:Label ID=“Label1” runat=“server” Text=“Ich bin ein Label”></asp:Label><asp:TextBox ID=“TextBox1” runat=“server”> Ich bin eine Textbox</asp:TextBox>

wird dies zu folgendem Markup:

Ich bin ein Label

Alles in allem ist dies wenig spektakulär.

Erweitere ich meinen Code nun jedoch um die Eigenschaft AssociatedControlID

<asp:Label ID=“Label2” runat=“server” AssociatedControlID=“TextBox2” Text=“Ich bin auch ein Label”></asp:Label><asp:TextBox ID=“TextBox2” runat=“server”>Ich bin auch eine Textbox</asp:TextBox>

wird das ASP.NET Label nicht mehr als Span-Tag, sondern als HTML Label-Tag gerendert:

<label for="TextBox2" id="Label2">Ich bin auch ein Label****

Schön und gut, aber wo liegt der Vorteil?

Zum einen schafft der HTML Code durch den Zusatz “for=” eine logische Verknüpfung zwischen Eingabefeld und Beschriftung. Dies kann von Screenreadern ausgelesen werden und verbessert somit die Barrierefreiheit.

Dies ist jedoch nicht alles. Für den Standardbenutzer ergibt sich der Vorteil, dass er nun innerhalb des Browsers mit der Maus einfach auf das Label klicken kann und anschließend automatisch das assozierte Steuerlement den Fokus erhält.

Mein Fazit: ein tolles Feature, was sowohl Usability, als auch Barrierefreiheit mit sehr wenig Aufwand erhöht.

Näheres findet sich übrigens auch bei selfhtml.

Die Frage ist nur: Warum habe ich es so lange übersehen? Vielleicht liegt es daran, dass es unter ASP.NET 1.0 noch nicht existierte und die anderen Neuerungen einfach so viel aufregender waren?

Inconsistent results with AI tools in your team?

I show developer teams how to turn Copilot, Claude, and Codex licenses into a reproducible development process. In one to two days, remote or in person in Bad Breisig, Germany.

To the AI training

I test the AI tools in real projects. You read what matters in five minutes.

What's changed in Claude Code, Copilot, and the other AI tools, and what it means for .NET teams. Plus news on .NET MAUI and the next book edition. No fixed schedule: I write when there's something worth your time. Unsubscribe anytime.

We send via Brevo. By subscribing you agree to your data being processed by Brevo.