Toon posts:

[asp.net] Codebehind en Usercontrols

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een usercontrol op een pagina gezet en wil deze usercontrol aanspreken vanuit de codebind van die pagina maar dit lukt niet.
Volgens mij moet ik de usercontrol declareren maar hoe declareer je een usercontrol??

Dit is een stukje van de codebehind:

Public Class frmCode
  Inherits Page

  Sub Page_Load(Source As Object, E As EventArgs)

    If not Page.IsPostBack then
      Vraag1.Vraag.text = "hier een vraag"
    End If
  End Sub
End Class

De usercontrol heet hier Vraag1 een heeft de property Vraag
Nu krijg ik de melding
"Compiler Error Message: BC30451: Name 'Vraag1' is not declared."

[ Voor 18% gewijzigd door Verwijderd op 21-05-2003 14:56 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:17
Je declareert een usercontrol toch op dezelfde manier alsof je een andere control of object zou declareren.

In je class zet je bv:

code:
1
private Vraag1     m_Vraag;


En dan kan je ze initialiseren:

code:
1
m_Vraag = new Vraag1();

[ Voor 42% gewijzigd door whoami op 21-05-2003 15:14 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ja dat is bij een usercontrol die gecompileerd is maar is het ook mogelijk bij ongecompileerde usercontrols (een .ascx file) ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:17
Ik veronderstel het wel. Probeer het eens uit zou ik zeggen.

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 21 May 2003 @ 15:45:
Ik veronderstel het wel. Probeer het eens uit zou ik zeggen.
* gorgi_19 gokt van niet; de code-behind van een .ascx file is een abstract class :P

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
En dat is volgens mij de bron van het probleem.
In de pagina roep je de code met deze regel aan.
code:
1
<%@ Register tagprefix="PullDown" Tagname="Vragen" Src="Components/VragenPulldown.ascx" %>


En met deze regel zet je ze neer
code:
1
<PullDown:Vragen ID="Vraag1" VraagID="1" runat="server" />


Maar de register tag doet het niet in codebehind en imports doet het ook niet omdat de usercontrol nog geen "systeem object" is maar een .ascx file

Dus hoe kan ik ervoor zorgen dat de compiler de usercontrol als een te "dimmen" object gaat zien.

btw volgens mij is het minder moeite om hen gewoon te compileren en dan te gebruiken :)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dit is asp.net als ik het goed heb?
Zo niet, dan had je het zelf maar in de topictitel moeten zetten :Y)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 22-08 10:45

mulder

ik spuug op het trottoir

Maar de register tag doet het niet in codebehind en imports doet het ook niet omdat de usercontrol nog geen "systeem object" is maar een .ascx file
De register tag moet niet in de code behind maar gewoon boven de html in de aspx

oogjes open, snaveltjes dicht

Pagina: 1