Angus,
I'm not coding in ASP2.0, so I'm not familiar with Wizard control. But I did a quick read on it and I believe it operates in a "standard fashion".
So, during the initial page load, populate your DDL with - what I presume are - code values from your db (with the databind as you wrote). You need only do this once, assuming that you have set viewstate to persist for that DDL (across postbacks). I assume you have done that or the wizard automatically did it for you.
Next, take the value the user picked (i.e., the one you stored in the db) and set your DDL with that value. General syntax is:
dropdownlist.SelectedIndex = dropdownlist.Items.IndexOf(dropdownlist.Items.FindByValue(somestringvalue)) [somestringvalue is your user's db value]
If dropdownlist.SelectedIndex <> -1 Then
Me.dropdownlist.SelectedItem.Selected = True
End If
Now, I assume that the programmer has to set the DDL to the retrieved db value. Not knowing the Wizard object, maybe it sets the DDL automatically. But then I would think you at least need to initially populate the DDL at page load with the databind (as you did and it worked).
You need only populate the DDL once (or any other asp.net form control for that matter); the values will persist across postback (if you allowed viewstate to persist for each object). I believe as you created your Wizard it automatically sets each object to persist its viewstate.
...I'm thinking there's a wizard that stepped you thru creating the Wizard. LOL
I hope that I helped and not confused. Good luck!
Ask one, answer one.