Avatar billede carstensuurland Nybegynder
23. august 2007 - 09:43 Der er 5 kommentarer og
1 løsning

Dynamisk loading af user controls

Kære Eksperter

Jeg har en user control på en side, som skal vises X antal gange. Én gang for hver post i et dataset.

Kontrollen fungerer egentligt fint, men jeg undrer mig lidt over måden hvorpå jeg skal sætte den ind på siden.

Hvis jeg laver en "using" til det namespace hvori min kontrol er defineret og derfter opretter en instans af kontrollen via "new XXX", så fejler kontrollen i dens load event. Den siger at de HTML kontroller der ligger i kontrollen er null...?

Sætter jeg derimod kontrollen ind på siden via LoadKontrol, så fungerer alt som det skal.

P.S.: Jeg sætter en række egenskaber på kontrollen inden den indsættes - disse egenskaber bliver så brugt i mine HTML kontroller til angivelse af innerText, href på a-tags m.v.

P.P.S: Det er, i dette tilfælde, ikke en løsning af bruge ASP kontroller, da min userkontrol gør brug af en tabel med colgroup defineret. Piller jeg ved tabellen fjernes min colgroup definition...

Derfor: Hvad skal jeg gøre hvis jeg gerne vil bruge "new XXX" i stedet for LoadControl (som jo er afhængig af den fysiske placering af ascx filen)?
Avatar billede -psycho- Nybegynder
23. august 2007 - 16:27 #1
PostControl pCtrl = (PostControl)LoadControl("~/Usercontrols/PostControl.ascx")
Avatar billede -psycho- Nybegynder
23. august 2007 - 16:35 #2
tror ikke du kan komme uden om loadcontrol
Avatar billede carstensuurland Nybegynder
24. august 2007 - 08:31 #3
Det er netop LoadControl jeg bruger som fungerer.
Men problemet er, at jeg ikke kan "acceptere" at jeg er nødt til det. Min usercontrol er jo udstillet som en klasse ligesom alt muligt andet, men det kan være, at min usercontrol selv skal indsætte alle HTML kontroller i stedet for at have nogen predefineret i ascx filen... det kan være det er derfor de er null.
Avatar billede -psycho- Nybegynder
24. august 2007 - 10:21 #4
så vidt jeg ved bliver userkontrollen(ascx filen) ikke kompilet før du kører loadcontrol hvilket er grunden du ikke kan komme uden om den og at tingene er null.

Evt lav det om til en server control så du ikke skal bruge loadcontrol
Avatar billede carstensuurland Nybegynder
05. november 2007 - 18:27 #5
-psycho- : Giv et svar så får du point
Avatar billede -psycho- Nybegynder
06. november 2007 - 00:02 #6
ok her er et svar..

fandt du en måde at komme uden om det på ?.
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