Dynamisk indsættelse af user controls
Jeg er igang med at forsøge mig frem med web user controls, men jeg er lettere forvirret.Mit grundlæggende scenarie er dette: jeg vil lave en user control som består af en label og en radiobuttonlist. Label skal udfyldes med et udsagn, og radiobuttons kommer til at være et valg af tilslutning fra "Uenig" til "Enig". Godt så. Det virker tilsyneladende fint, og jeg kan add'e den på normal vis.
Nu vil jeg så gerne kunne add'e dem dynamisk gennem en løkke, fx fra en database. Så jeg opretter et Panel.
Nu er problemet så, at jeg har en property til min user control der hedder 'Public property text() as string' der sætter min labels text til det ønskede. Men den fejler ved dynamisk generering:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim mylikert As New likertquestion
mylikert.ID = "likert1"
mylikert.text = "Er du enig eller uenig i, at..."
mypanel.Controls.Add(mylikert)
End Sub
Den stopper ved mylikert.text = osv... med fejlen:
System.NullReferenceException: Object reference not set to an instance of an object.
Line 44: End Get
Line 45: Set(ByVal Value As String)
Line 46: question.Text = Value
Line 47: End Set
Line 48: End Property
Men jeg har jo netop instanseret et nyt objekt, der burde have instanseret en ny label, som *suk* bare burde virke. Er der noget med rækkefølgen af hændelser, der kan gå galt her?
