Avatar billede Jim Rasmussen Novice
01. september 2010 - 17:37 Der er 6 kommentarer og
1 løsning

finde en dynamisk oprettet textbox og dropdownliste.

hey.

Jeg har dynamisk oprettet 3 text bokse og 3 DropDownLister.

Deres id er også lavet dynamisk med en løkke. altså fx txt 1, 2, 3 og ddl 1, 2, 3.

Hvordan looper jeg dem så igennem for deres indhold?
jeg ved at jeg nok skal have fat i noget lig

Control.FindControl(ID);

Men kan nogen komme med et eksempel på hvordan jeg får fat i dem? (:



ps. For hver gang jeg har indholdet af en textboks og en DropDownListe, skal det tilføjes til en property klasse og derfra til en database.
Avatar billede keysersoze Guru
01. september 2010 - 18:14 #1
Umiddelbart lyder det til at du har gang i det helt rigtige - det eneste du skal sørge for, udover at id'erne altid skal stemme overens på tværs af postbacks, er, at kontrollerne skal være dynamisk genereret igen før du forsøger at hive fat i dem (oftest gøres det i page_load).
Avatar billede Syska Mester
01. september 2010 - 18:14 #2
var list = this.Controls.FindControl("name") as DropDownList;
if(list == null)
return;

Så burde du have din DDL ... nemmere bliver det vist ikke.

mvh
Avatar billede lasserasch Juniormester
01. september 2010 - 18:31 #3
Buzz, Men det kræver jo at man kender navnene på alle DDL og tekstbokse.

Jeg ville bare loope alle kontrollerne igennem og så finde ud af om de var det ene eller det andet og behandle dem derefter.

Noget ala :


private void LoopControls()
        {
            for (int i = 0; i < panel1.Controls.Count; i++)
            {
                Control ctrl = panel1.Controls[i];
                if (ctrl.GetType().Name == "TextBox")
                    ProcessTextBoxCtrl((TextBox)ctrl);
            }
        }

        private void ProcessTextBoxCtrl(TextBox tb)
        {
            /// Gør et eller andet.
        }


Mvh.
Lasse
Avatar billede Syska Mester
01. september 2010 - 18:39 #4
Ja, men nu skriver han også at han kender navnene ... derfor :-)

Hvis du skal gøre det med name, ville jeg nok bruge:
typeof(TextBox).Name

Så er man da sikker på ikke at lave typos :-)

mvh
Avatar billede Jim Rasmussen Novice
01. september 2010 - 19:55 #5
Mange tak for jeres svar. Jeg har noget at gå ud fra nu (:

Jeg vil gerne give buzz point, da jeg fik lige hvad jeg søgte fra dig (: kan jo loope mig frem til ID'erne når jeg ved at de bare er ex. txt 1, 2, 3 odv. (:
Avatar billede Syska Mester
01. september 2010 - 20:20 #6
takker og svar ...

mvh
Avatar billede Syska Mester
01. september 2010 - 20:20 #7
ARGh, skulle være et svar
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