Avatar billede naxosnaxos Nybegynder
28. marts 2005 - 01:35 Der er 6 kommentarer og
1 løsning

PageLoad ved validering med dropdownlist

Hej

Jeg har en aspx side med en usercontrol. på usercontrollen er der en  dropdownlist og en knap.
I usercontrollens pageload (!IsPostBack) event fylder jeg min dropdownlist med data og laver en databind(). Men i hver pageload laver jeg et kald til en metode der sætter valgt index i dropdownlisten.
Dette giver mig følgende problem. Når jeg trykker på knappen på usercontrollen  vil jeg udtrække værdien fra dropdownlisten hvis Page.IsValid, derefter skal værdien fra listen gemmes i en db.
Men når jeg trykker på knappen når der at komme en Page_Load inden jeg overfører min værdi fra listen til databasen. Og i denne pageload ad min dropdownlistet nu ingen datasource og fejler derfor...... burde den det når jeg har lavet en databind() som tidligere beskrevet??
Og hvordan bør jeg løse dette??
Avatar billede fyrenanders Nybegynder
28. marts 2005 - 02:00 #1
hvordan ser din kode ud for den funktion hvor du sætter valgt index?
Avatar billede burningice Nybegynder
28. marts 2005 - 09:34 #2
har du husket at enable viewstate?

Page_Load vil altid blive udført ved et postback, selvom det f.eks. er et Click på en knap der triggerede postback'et.
Avatar billede naxosnaxos Nybegynder
28. marts 2005 - 10:13 #3
min datasource er et array af custom objekter hvor textfield og valuefield for dropdownlisten er properties på mine custom objekter i arrayet.
så er så vil sætte valgt index løber jeg arrayet igennem (liste.datasource) for at finde de objekt der har netop det textfield jeg søger. poster kode senere......
Avatar billede snepnet Nybegynder
28. marts 2005 - 11:19 #4
hej naxos :o)

nej - din datasource er null med mindre du sætter den selv hver gang, men det kan jo så bare gøre.

det virker lidt underligt at du kalder en metode ved hvert postback der sætter en værdi i dropdownlisten..... kan brugerene ikke vælge i den selv ? eller har jeg misforstået det du skrev.

mvh
Avatar billede burningice Nybegynder
28. marts 2005 - 11:31 #5
snepnet har ret i at datasource er null næste gang siden loades, men hvis du bruger viewstate vil de enkelte items stadig findes i dropdownlisten, og du kan istedet løbe igennem dens item-collection i stedet for din datasource.

// Dette burde virke ved hvert postback
foreach (DataListItem item in ddl.Items) {

}
Avatar billede naxosnaxos Nybegynder
28. marts 2005 - 16:29 #6
Ja de var vist blevet lidt sent "sort snak" Men problemet er nu løst ved at gennemløbe Items. så smid et svar
Avatar billede burningice Nybegynder
28. marts 2005 - 16:37 #7
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