webForumDet fria alternativet

Reference mellan 2 user controls??

.NET

4 svar · 284 visningar · startad av anbj

Medlem sedan juli 2000231 inlägg
Frågan#1

Jag har en aspx sida med två user controls på, i den ena har jag ett antal public properties som jag vill kunna sätta från den andra user controllen. Hur gör jag det??

Jag får bara "Object reference not set to an instance of an object" hur jag än försöker...

Har i min andra UC försökt att deklarera i stil med följande:

Public myFirstUC As PIC.FormStandard

och sedan sätta propertyn Market såhär:

myFirstUC .Market = 4

Har även testat:

    Dim myFirstUC As UserControl = Page.FindControl("FormStandard")
    CType(myFirstUC , FormStandard).Market = 4

Någon som har några tips på hur man gör?

Medlem sedan apr. 20012 266 inlägg
#2

Från UC 1:

((DinWebform)Page).DinAndraUserControl.DinProperty = 2;

Förutsätter att du har din andra UC som ett objekt i din Page class.

Medlem sedan maj 20012 812 inlägg
#3

Eftersom du inte har någon naturlig referens mellan dem så har du 2 sätt.

Antingen så skickar du med den ena usercontrollen till den andra och på det sättet kommer åt den. Eller så låter du sidan agera mellanhand. Alltså du tar ut Parent på din ena controll och anropar sedan Parent.Control.Properties från den controllen.

Detta kräver dock att du har satt den control som du vill komma åt som public i på din Page.

- Magnus

Medlem sedan juli 2000231 inlägg
#4

Tack för svaren, har nu bestämt mig för att inte ha referens mellan de två utan låta parent sidan sköta det hela istället.

Medlem sedan apr. 20012 266 inlägg
#5

Relativt smart val :)

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)