Prev: how does the footer div element stick to bottom of screen irrespective of screen height and volume of body content?
Next: PopulateColumnInTableBased onRangeOfValues
From: Zamdrist on 17 Feb 2010 10:56 I swear if I have to 'relearn' how AutoPostBack, EnableViewState and Me.IsPostBack works, or should work, I'm going to literally tear my hair out. I've got a pretty simple form, couple of text boxes, a check box, a drop down list and a button. The drop down list is populated via code, and that works fine. The TextValue is set to a one field returned by a stored procedure, as is the ValueField set to an associated numeric value. When I hit the command button to submit and run my code, the value selected in the drop down list changes. The values listed in the drop down list are not unique, but the text values are. I've tried various combination of AutoPostBack = True, False, EnableViewState = True, False. But I cannot get it working as it should. The value selected in the drop down list shouldn't change, as its value depends on my code working correctly. Here is what I have in the Page Load event: If Not Me.IsPostBack Then If adoConn_FirmApps.State <> ConnectionState.Open Then adoConn_FirmApps.Open() adoComm_SubClass.Connection = adoConn_FirmApps adoComm_SubClass.CommandType = CommandType.StoredProcedure adoComm_SubClass.CommandText = "CI_SubClassList" With ddlSubClass .DataSource = adoComm_SubClass.ExecuteReader(CommandBehavior.CloseConnection) .DataTextField = "SubClass" .DataValueField = "SubClassType" .DataBind() End With End If Any help, advice or suggestions would be greatly appreciated! Thanks!
From: Zamdrist on 17 Feb 2010 15:19
Turns out this had nothing to do with PostBack behavior, and everything to do with the drop down list DataValueField not having a unique value. So when the page reloaded, the selection changed to the first DataTextField. I resolved this by adding a third field to my stored procedure that combined the Text and Value fields to use as the DataValueField, and later just trimmed off the part I wanted from it for use later. Lesson: Drop Down List DataValueField values should always contain unique values. |