<p><label for="<%=username.ClientID%>" runat="server">Användarnamn:</label><asp:TextBox ID="username" runat="server"></asp:TextBox><p>
Här är en lösning på det.
Finns det bättre lösningar?
8 svar · 293 visningar · startad av Addeladde
Hej
Hej om man har följande kod nedan och kör den så byts ju name i textboxen ut till: ctl00$ContentPlaceMain$username och då funkar ju inte labeln med att det står for="username"
<p><label for="username" runat="server">Användarnamn:</label><asp:TextBox ID="username" runat="server"></asp:TextBox><p>
Hur löser man detta?
<p><label for="<%=username.ClientID%>" runat="server">Användarnamn:</label><asp:TextBox ID="username" runat="server"></asp:TextBox><p>
Här är en lösning på det.
Finns det bättre lösningar?
Det finns en riktig lösning.
<asp:label id="lbUsername" runat="server" associatedcontrolid="tbUsername" text="Användarnamn:" />
<asp:textbox id="tbUsername" runat="server" />
Tja
Precis vad jag var ute efter. Om man inte lägger till associatedcontrolid så blir asp:label en span tag. Kan man styra vad labeln ska bli för tagg på något sätt?
Varför?
jag kanske vill ha en div tag istället för span?
Om jag har en <asp:RadioButton CssClass="foo"/>
Så genererar detta koden: <span class="foo"><input type="radio"/></span>
Vilket gör att jag inte kan sätta css på själva radio elementet.
Ja men det blir ju på span taggen och inte på input taggen.
Nja, alltså klassen foo sätts visserligen på spantaggen men stylen blir ju på radioknappen då du skriver .foo input {... och då kan du ju style inputfältet precis som du vill.
Det enda är att varje inputs style måste skrivas: .spanklass input, men det är väl inte så jobbigt! :)
Faktum är ju att det är rätt fiffigt samtidigt, för på detta sätt kommer du ju åt både radioknappen samt labeln inom samma klass! :)