Hej! Jag lyckades klura ut det själv :-) Debuggern säger att Userkontrollen inte är deklarerad, Hur gör man?
Jag har precis börjat intressera mig för ASP.NET och försöker göra en enkel UserControl (pagelet) i VS.NET 2002 pro och kodar med VB. (Som jag förstår det kan man se en UserControl ungefär som en egenutvecklad OCX komponent) Nedan beskriver jag steg för steg vad jag gör i VS.NET (Anänder default namn som ges på kontrollerna)
1. Skapar en ny ASP.NET Web Application med namnet ”WebApplication1"
2. I Solutione Explorer’n högerklickar jag på ”WebApplication1” och väljer ”Add/Add Web User Control…
3. I dialogrutan som öppnas så klickar jag bara ”Open” så att jag i Solution Explorer får en fil ”WebUserControl1.ascx”
4. I denna fil lägger jag till en TextBox från ”Toolbox/WebForms” genom att dra och släppa
5. Från WebForm1.aspx vill jag kunna sätta och hämta texten i min usercontrol och skapar därför en property som heter ”theText”. I hjälpen finns ett exempel ”Pagelet3 sample” där det finns kod för hur propertyn skall kodas. Koden ser ut som följer (modifierad med id på min textbox):
Public Property theText As String
Get
Return TextBox1.Value
End Get
Set
TextBox1.Value = Value
End Set
End Property
6. Denna kod kopieras in i codebehind för ”WebUser Control1.ascx” på näst sista raden (före End Class). När koden klistras in ändrar VS.NET koden till:
Public Property theText() As String
Get
Return TextBox1.Value
End Get
Set(ByVal Value As String)
TextBox1.Value = Value
End Set
End Property
(Varför använder exemplet ”TextBox1.Value”? Skall det inte vara ”TextBox1.Text”??)
7. Sedan infogar jag min usercontrol i WebForm1.aspx genom att dra och släppa filen från Solution Explorer. Den får då id=” WebUserControl11”
8. Sedan lägger jag till en knapp från Toolbox/WebForm
9. På knappens klickevent kodas följande: WebUserControl11.theText = "Hej"
10. Nu tycker jag att det bara borde vara att köra koden så jag kör debuggern och får då meddelandet: ”There were build errors. Continue?”
11. Jag väljer att avbryta och Debuggern säger då att:
a. Som jag trodde, TextBox1.Value skall vara TextBox1.Text
b. Name ””WebUserControl11” is not declared” och pekar på filen ”WebForm1.aspx.vb”
::::::Här är problemet:::::
Hur deklarerar jag en egenutvecklad kontroll?? Skall inte denna automatiskt vara tillgänglig i codebehind??Sv: Debuggern säger att Userkontrollen inte är deklarerad, Hur gör man?
Jag skrev följande rad i codebehind:
Protected WebUserControl11 As WebUserControl1