Avatar billede suppenudel Nybegynder
12. marts 2006 - 16:07 Der er 16 kommentarer og
1 løsning

Køre sub fra UserControl

Hej.

Jeg har fundet lignende spørgsmål herinde, men kan ikke helt finde ud af hvad der er det rigtige at gøre.

Hvis jeg har en aspx side med en UserControl på. I min Usercontrol er der så en Sub FyldControl()

Den vil jeg gerne have at jeg kan loade fra min aspx side, hvor jeg har:

Sub KodePaaAspx()
  'noget kode

  'og load så subben i min UserControl
  FyldControl()

End Sub

Hvis jeg gør det som der er nu, får jeg besked på at FyldControl() ikke er declared.
Avatar billede dr_chaos Nybegynder
12. marts 2006 - 16:26 #1
hvordan ser kopdebehind ud for din usercontrol ?
Avatar billede suppenudel Nybegynder
12. marts 2006 - 16:37 #2
Hej, den har ikke rigtig noget codebehind. Den har bare noget kode i sig selv, med en sub hedder

Sub FyldControl()
'noget kode
End Sub

Det er bare den jeg vil kalde fra min aspx.
Avatar billede dr_chaos Nybegynder
12. marts 2006 - 16:38 #3
den skal være public
Avatar billede suppenudel Nybegynder
12. marts 2006 - 16:41 #4
Ok, men er det nok?

Skal jeg ikke declare at den findes i UserControl'en og ikke i aspx's egen kode?
Avatar billede dr_chaos Nybegynder
12. marts 2006 - 16:47 #5
hvis du har tilføjet usercontrollen til din side bør du kunne kalde den med
usercontrolnavn.FyldControl
Avatar billede suppenudel Nybegynder
13. marts 2006 - 23:46 #6
Hov, så var det bare det der skulle til! :-) Jeg havde troet (og før bøvlet med) at man skulle at bruge noget som WithEvents og så videre..
Avatar billede dr_chaos Nybegynder
14. marts 2006 - 08:41 #7
nogle gange er løsningen ikke så svær :)

Tillader mig lige at at smide et svar
Avatar billede suppenudel Nybegynder
15. marts 2006 - 19:30 #8
Nej nok ikke :-)

Har dog lidt problemer hvis jeg skal tilgå en servercontrol i min UserControl, altså hvis jeg i min page_load på min aspx vil lave mitPanel = False, så prøver jeg med

usercontrolnavn.mitPanel = False

'ASP.minside_ascx.Protected Dim WithEvents mitPanel As System.Web.UI.WebControls.Panel' is not accessible in this context because it is 'Protected'.

Hvordan gør jeg en sådan en Public?
Avatar billede dr_chaos Nybegynder
15. marts 2006 - 19:43 #9
I din usercontrol laver du:
Public Property LabelText() As String
    Get
    Return Me.mitPanel.Text
    End Get
    Set (ByVal Value As String)
    Me.mitPanel.Text=value
    End Set
End Property

I din aspx side få du teksten ud med
UserKontrol.LabelText
Du sætter teksten med
UserKontrol.LabelText = "Tekst"
Avatar billede suppenudel Nybegynder
15. marts 2006 - 19:53 #10
Ok - hvordan laver jeg så jeg bare kan gøre mitpanel true eller false i min aspx?
Jeg får at "Text is not a member of panel"..
Avatar billede dr_chaos Nybegynder
15. marts 2006 - 19:59 #11
jeg troede at du tænkte på et label.
Mener du om panelet er synligt eller ej ?
Avatar billede suppenudel Nybegynder
15. marts 2006 - 20:03 #12
Jep. Det er fordi der er et panel i min usercontrol som jeg gerne allerede i min aspx's page_load vil gøre til mitPanel.visible = false
Avatar billede dr_chaos Nybegynder
15. marts 2006 - 20:21 #13
så skal du bruge
Public Property SetPabelVisible() As Boolean
    Get
    Return Me.mitPanel.Visible
    End Get
    Set (ByVal Value As Boolean)
    Me.mitPanel.Visible=value
    End Set
End Property

I din aspx side få du bool værdi ud med
UserKontrol.SetPabelVisible
Du sætter visible med
UserKontrol.SetPabelVisible = true eller false
Avatar billede suppenudel Nybegynder
15. marts 2006 - 20:31 #14
Ja se det virker! 

Jeg har ikke rodet med Property før, så fik jeg da lært lidt af det

:-)
Avatar billede dr_chaos Nybegynder
15. marts 2006 - 20:49 #15
:)
Avatar billede suppenudel Nybegynder
15. marts 2006 - 21:03 #16
jeg takker for hjælpen og smider lidt points til dig!
Avatar billede dr_chaos Nybegynder
15. marts 2006 - 21:05 #17
np :)
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