Avatar billede nielslbeck Nybegynder
25. februar 2003 - 18:24 Der er 13 kommentarer og
1 løsning

Array af inputbokse

Jeg vil gerne ha' en hel stak inputbokse (20 stk. TextBox) på min ASP.NET side. I stedet for at de skal hedde textbox1, textbox2 osv, vil jeg gerne ha' dem som et array, f.eks. textbox[0], textbox[1] osv. Hvordan klarer jeg den?
Avatar billede simon.ulsnes Nybegynder
25. februar 2003 - 18:38 #1
Nemt nok...
I din Codebehind-fil:

TextBox[] tbs = new TextBox[9];
tbs[0] = new TextBox();
tbs[1] = new TextBox();
tbs[2] = osv...

foreach (TextBox tb in tbs)
{
  // Sæt egenskaber (CssClass eller hvad du nu bruger).
  this.Controls.Add(tb);
}

// Simon
Avatar billede simon.ulsnes Nybegynder
25. februar 2003 - 18:39 #2
this kan erstattes af navnet på et Panel eller PlaceHolder eller hvad dine andre controls nu måtte sidde på...
Avatar billede nielslbeck Nybegynder
25. februar 2003 - 18:48 #3
Hov, fik vist ikke forklaret mig godt nok... Jeg vil gerne ha', at tekstboksene bliver tilføjet i .aspx-filen, så en designer selv kan tilføje flere... ikke via kode... Kan vi klare den?
Avatar billede simon.ulsnes Nybegynder
25. februar 2003 - 18:54 #4
Det bliver et problem at få designeren til at tilføje flere...
Du kan godt putte det i gammeldags ASP-tags, men det kan jeg ikke andet end fraråde - det er dårlig kodning.
Avatar billede nielslbeck Nybegynder
25. februar 2003 - 18:58 #5
Yeps, klart nok, at der ikke skal være noget gammel ASP... Hvis du siger, at det ikke kan klares på en smart måde, er det jo nok rigtigt nok... Men jeg lader spørgsmålet stå et øjeblik, til hvis der er nogen, der har en smart idé :-)
Avatar billede nielslbeck Nybegynder
25. februar 2003 - 19:25 #6
Okay, det lader jo ikke til, der kommer mange flere forslag...

Et lille tillægsspørgsmål: Hvordan tilføjer jeg en <br> efter hver tekstboks?
Avatar billede simon.ulsnes Nybegynder
25. februar 2003 - 19:27 #7
this.Controls.Add(tb);
this.Controls.Add(new LiteralControl("<br />"));
Avatar billede nielslbeck Nybegynder
25. februar 2003 - 19:27 #8
Takker :-)
Avatar billede burningice Nybegynder
25. februar 2003 - 20:35 #9
simon.ulsnes>> ææh... hvad forhindrer ham i at lave en control til det?

ala

<bla:textboxe id="minetekstbokse" antal="15" />

hvor antal bliver overført til følgende løkke:

TextBox[] tbs = new TextBox[9];
int antal = [antal];

for (int 1 = 0; i < antal; i++) {
tbs[i] = new TextBox();
}
Avatar billede nielslbeck Nybegynder
25. februar 2003 - 20:37 #10
Fed kode - har du lidt travlt, cyberfessor ;-) Nå ja, sådan kunne jeg jo også ha' gjort... Har fået styr på det nu, men tak for forslaget.
Avatar billede burningice Nybegynder
25. februar 2003 - 20:40 #11
nielslbeck>> jeg har da altid tralvt... alt for mange jern i ilden :S har holdt foredrag omkring c# hele aftenen så jeg har ikke lige kunne få tjekket post før nu...
Nu ved jeg ikke hvordan du har fået det løst, men hvis du gerne vil have det sådan at designeren selv skal kunne "ændre" i koden, så er det via kontroller det skal gøres. Det er det de er der til for ;)
Avatar billede nielslbeck Nybegynder
25. februar 2003 - 20:44 #12
Okay, så er det nok derfor koden ikke ligner noget der kan kompiles :-)
Yeps, du har ret... jeg skal ha' lavet en kontrol til det...
Avatar billede simon.ulsnes Nybegynder
25. februar 2003 - 20:46 #13
cyberfessor >> Som sædvanligt kommer du rendende med en meget bedre løsning... typisk :-)
Avatar billede burningice Nybegynder
25. februar 2003 - 20:52 #14
simon.ulsnes>> hehe.. jeg havde ikke vidst et pap om det hvis det ikke var fordi at jeg har rodet en del med asp.net... back then.. det er ved at være et stykke tid siden :(

nielslbeck>> altså... <bla:textboxe id="minetekstbokse" antal="15" /> skal jo stå på aspx-siden, mens
int antal = [antal];
TextBox[] tbs = new TextBox[antal];

for (int 1 = 0; i < antal; i++) {
tbs[i] = new TextBox();
}

skal stå i en cs-fil :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester