Avatar billede dehaas Nybegynder
12. marts 2007 - 10:29 Der er 18 kommentarer og
2 løsninger

Re-render custom control

Hej,

Jeg er ved at bygge en af mine første custom-controls, og er løbet ind i et problem.

Jeg er en property, som gerne skal forårsage min control til at re-render. Jeg har ingen ide om hvordan dette kan gøres, så jeg håber i kan hjælp lidt.
Avatar billede mikkel_sommer Nybegynder
12. marts 2007 - 10:35 #1
Kunne du ikke kalde Page_Load fra din property?
Avatar billede dehaas Nybegynder
12. marts 2007 - 10:43 #2
Er ikke helt med på hvad du mener.

Siden refresher når jeg sætter min property, men den renderer det samme som før (hvilket altså skulle være ændret, idet denne property bestemmer outputtet).
Avatar billede mikkel_sommer Nybegynder
12. marts 2007 - 10:50 #3
tror det er fordi din side loader før din property bliver sat, prøv at paste koden for din property.
Avatar billede dehaas Nybegynder
12. marts 2007 - 10:53 #4
jeg har bare en ganske alm. property

        Public Property SiteEdition() As String
            Get
                Return _SiteEdition
            End Get
            Set(ByVal value As String)
                _SiteEdition = value
            End Set
        End Property

Knappen har så bare Control.SiteEdition = "Test" på sit Click-event
Avatar billede mikkel_sommer Nybegynder
12. marts 2007 - 11:03 #5
ja så tror jeg det er fordi at dit event sker først, efterfulgt af page_load og så sættes din property til sidst.

Er det når du get'er eller set'er eller begge at du ønsker den skal re-render?
Avatar billede jokkejensen Novice
12. marts 2007 - 12:47 #6
prøv i din page_load for kontrollen at skrive:

Page.DataBind();
Avatar billede dehaas Nybegynder
12. marts 2007 - 13:33 #7
Jeg har prøvet at køre Page.DataBind() i page_load, men det giver samme resultat.

Den skulle gerne rerender når jeg sætter min property til en ny værdi
Avatar billede mikkel_sommer Nybegynder
12. marts 2007 - 13:41 #8
så prøv:

Public Property SiteEdition() As String
            Get
                Return _SiteEdition
            End Get
            Set(ByVal value As String)
                _SiteEdition = value
                Me.xxx.Page_Load("ASP.xxx_ascx", New System.EventArgs)
            End Set
        End Property

... hvor du skifter xxx ud med navnet på din control.
Avatar billede dehaas Nybegynder
12. marts 2007 - 13:49 #9
Hmm, det er jo ikke en User Control, men en Custom Control
Avatar billede mikkel_sommer Nybegynder
12. marts 2007 - 13:58 #10
nåeh ja det skrev du jo også men mon ikke du kan bytte ascx ud med endelsen på denne, har ikke så meget erfaring med custom controls
Avatar billede dehaas Nybegynder
13. marts 2007 - 14:32 #11
Hmm, kan ikke lige se hvordan jeg skulle gøre det :(
Avatar billede dr_chaos Nybegynder
13. marts 2007 - 16:45 #12
prøv evt med:
Public Property SiteEdition() As String
            Get
                Return viewstate("_SiteEdition")
            End Get
            Set(ByVal value As String)
                viewstate("_SiteEdition") = value
            End Set
        End Property
Avatar billede dehaas Nybegynder
13. marts 2007 - 21:17 #13
Okay, det virker nognelunde når jeg bruget viewstate, men et dertil relateret problem er nu dukket op.

Netop idet jeg benytter viewstate i min property, skal siden opdateres en ekstra gang (udover postback) for at blive opdateret.
Avatar billede dr_chaos Nybegynder
14. marts 2007 - 13:47 #14
Nej det burde ikke give 2 postbacks.
Kan du vise hvad præcist du mener ?
Avatar billede dehaas Nybegynder
15. marts 2007 - 16:36 #15
Jeg har til test en dropdownlist der sætter Control.SiteEdition idet der bliver valgt et nyt emne. Efter jeg har valgt en nye SiteEdition sker der ikke noget. Først efter jeg manuelt opdaterer siden ser jeg ændringen.
Avatar billede dehaas Nybegynder
17. april 2007 - 22:46 #16
Hej,

Beklager der er gået så lang tid. Jeg fandt ud af det var mig der ikke havde helt styr på hvornår det er muligt at skrive til og læse fra viewsatate. Det kører perfekt nu, så det må vist være på tide med nogle poits. Smid endelig et svar.
Avatar billede mikkel_sommer Nybegynder
18. april 2007 - 08:29 #17
Lyder godt at det kører :)
Avatar billede dehaas Nybegynder
21. april 2007 - 20:00 #18
får jeg også et svar fra dig dr_chaos?
Avatar billede dr_chaos Nybegynder
23. april 2007 - 15:08 #19
self :)
Avatar billede dehaas Nybegynder
23. april 2007 - 16:31 #20
Herligt, mange tak for jeres hjælp.
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