webForumDet fria alternativet

Reference mellan 2 user controls??

4 svar · 282 visningar · startad av anbj

anbjMedlem sedan juli 2000232 inlägg
#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?

renholmMedlem 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.

GladhMedlem 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

anbjMedlem sedan juli 2000232 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.

renholmMedlem sedan apr. 20012 266 inlägg
#5

Relativt smart val :)

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)