webForumDet fria alternativet

Anropa Function i modern från UserControl (VB)

.NET

7 svar · 422 visningar · startad av Palle

Medlem sedan apr. 20003 174 inlägg
Frågan#1

Hej,

Sidan default.aspx (modern) innehåller ett par UserControl´s..
Hur gör jag för att anropa en funktion som ligger i default.aspx, från en av mina UserControl´s?

Tyvärr använder vi inte CodeBehind i detta projeketet.. :l

Medlem sedan apr. 20003 174 inlägg
#2

Löste det med System.Delegate.. men det känns som om det borde finnas en enklare väg? ;)

Låter tråden ligga utan att Acceptera som slutgiltigt svar i hopp om förslag på en annan lösning. :)

Medlem sedan mars 20023 561 inlägg
#3
(([i]NamnPaASPXSidansClass[/i])Page).[i]MinSub[/i]()
Medlem sedan dec. 19996 721 inlägg
#4

Palle skrev:

Löste det med System.Delegate.. men det känns som om det borde finnas en enklare väg? ;)

Nja, det borde det egentligen inte, för det blir ofta bökigt om man skapar beroenden som går att det hållet, och det är ingen vidare bra arkitektur. Självklart är det möjligt att genomföra, men det finns inga genvägar.

Josef skrev:

((NamnPaASPXSidansClass)Page).MinSub()

Precis, eller med VB...

ctype(Page,NamnPaASPXSidansClass).MinSub()
Medlem sedan apr. 20003 174 inlägg
#5

emission skrev:

Precis, eller med VB...

ctype(Page,NamnPaASPXSidansClass).MinSub()

Var ser jag NamnPaASPXSidansClass när det inte är CodeBehind?

Medlem sedan dec. 19996 721 inlägg
#6

Palle skrev:

Var ser jag NamnPaASPXSidansClass när det inte är CodeBehind?

Använd ClassName-attributet i siddirektivet, och ge klassen ett eget namn.

Medlem sedan nov. 20041 189 inlägg
#7

Om jag i min UserControl har en variabel, typ "title" eller liknande som hämtas från en databas och jag vill ge huvudsidan, dvs. .aspx sidan denna variabel - hur gör jag gå?

Jag har fixat

public string Title {
get {}; set {}
}

och så, så allt jag vill gör är att kunna lägga in min variabel i public title innan DataBind() utförs - någon som vet hur?

((NamnPaASPXSidansClass)Page).Title = localTitle;

?

Medlem sedan apr. 20003 174 inlägg
#8

emission skrev:

Använd ClassName-attributet i siddirektivet, och ge klassen ett eget namn.

Följande kod..

[b]ASPX-sida:[/b]

<%@ Page language="vb" codePage="65001" ClassName="foo" %>

..

[b]UserControl:[/b]

ctype(Page,foo).MinSub()

Ger följande felmeddelande..

Compiler Error Message: BC30002: Type 'foo' is not defined.

267 ms totalt · 4 externa anrop · v20260731065814-full.bd618308
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)