The solution that I found, that actually works fairly good for editing forms. For each value that you store in the db, you should also create a field that houses the index for the rbl (radiobuttonlist) control.
So you when you are storing to the db, you would store the two fields as such.
Code:
baseEO.transFacility = ddlAETransferFacility.SelectedItem.ToString();
baseEO.transFacilityIndex = ddlAETransferFacility.SelectedValue;
Now whenever you need to repopulate a control you can set it by reversing the logic in the LoadScreenFromObject Method.
However you will only need to supply the code for Index field.
Code:
ddlAETransferFacility.SelectedValue = baseEO.transFacilityIndex
This will put your controls such as rbl, ddl ect, back to the state where the user saved the form.
If there is another way to get the same result a more direct way please share it.
Thanks