Initialisere user controls
Hejsa,jeg har haft dette problem før, men jeg har lige svært ved at tackle det hver gang. Måske fordi jeg ikke helt forstår rækkefølgen af events...
Jeg har lavet en user control, der består af tre dropdown lists, en med dag, måned og år. Man kan altså vælge en dato. I .ascx filen har jeg:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
For i As Integer = 1 To 31
day.Items.Add(New ListItem(i & ".", i))
Next
month.Items.Add(New ListItem("januar", 1))
month.Items.Add(New ListItem("februar", 2))
month.Items.Add(New ListItem("marts", 3))
month.Items.Add(New ListItem("april", 4))
month.Items.Add(New ListItem("maj", 5))
month.Items.Add(New ListItem("juni", 6))
month.Items.Add(New ListItem("juli", 7))
month.Items.Add(New ListItem("august", 8))
month.Items.Add(New ListItem("september", 9))
month.Items.Add(New ListItem("oktober", 10))
month.Items.Add(New ListItem("november", 11))
month.Items.Add(New ListItem("december", 12))
For i As Integer = DateTime.Now.Year - 100 To DateTime.Now.Year
year.Items.Add(New ListItem(i, i))
Next
End If
End Sub
Public Sub setDate(ByVal todate As DateTime)
day.SelectedValue = todate.Day
HttpContext.Current.Trace.Write(todate.Day)
month.SelectedValue = todate.Month
year.SelectedValue = todate.Year
End Sub
Når jeg efterfølgende implementerer den på en side og i denne sides Page_load kalder:
DateBoxes.setDate(DateTime.Now)
...så kommer der ikke en fejlmeddelelse. På den anden side sætter den heller ikke datoen. Jeg går stærkt ud fra, at det er fordi, at kontrollen allerede er initialiseret. Eller hvad?
