Gå til innhold

Anbefalte innlegg

Er det noen mulighet for å styre hva elementene som asp.net lager skal ha for slags id når de rendres til html?

F.eks :

<asp:TextBox ID="inpPostnr" runat="server" Width="30"></asp:TextBox>

rendres slik:

<input name="ctl00$cphMain$inpPostnr" type="text" value="7054" id="ctl00_cphMain_inpPostnr" style="width:30px;" />

For å få tak i denne vha javascripts GetElementById(), må jeg altså bruke GetElementById("ctl00_cphMain_inpPostnr"). cphMain kommer fra en "ContentPlaceHolderID" der dette elementet ligger. Men hvor kommer "ctl00" fra? Og vil den endre seg?

 

Eller er det ikke meningen at man skal kombinere javascript og asp.net? Opplever jo det samme problemet når jeg skal bruke #-prefiksen i css slik

#ctl00_cphMain_inpPostnr 
{
border: solid 1px red;
}

Lenke til kommentar
Videoannonse
Annonse
  • 2 uker senere...

IDen vil ikke forandre seg, men det irriterer meg også at ctl00-prefix kommer på id, da det fører til merarbeid i cssen hvis man går fra html-prototype til ferdig produkt.

 

Når det gjelder css så anbefaler jeg deg å bruke class konseptet.

Uenig. Er det et element som er unikt på hver side, ikke bare bør, men skal man bruke id.. Det er en grunn til at begge attributter finnes.

Lenke til kommentar

Jeg har enda til gode å se noe annet enn ctl00_ prefix foran ider på elementer med runar="server", og selv om det er litt irriterende, vil ikke idene forandre seg fra gang til gang. Dog er detulig jeg tar feil her så klart, men hvis microsoft er så korttenkte at de forandrer id-prefix fra gang til gang ved runtime kan man bare droppe hele .NET.

Lenke til kommentar
  • 4 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...