DropDownList drillerier
Jeg har defineret et par dropdownlister, hvor alle sammen ser ud som denne:<asp:DropDownList ID="drop_2_status" runat="server" DataSourceID="ObjectDataSource2" DataTextField="EntryName" DataValueField="EntryId">
</asp:DropDownList>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetSuperOfficeList"
TypeName="EdsSo">
<SelectParameters>
<asp:Parameter DefaultValue="35" Name="UDListDefinition_id" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
Den bliver fyldt ud som den skal. Efterfølgende vælger jeg en af værdierne som selected i min page_load ud fra en værdi i en database:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim EdsSo As New EdsSo
Dim PageData As DataSet
PageData = EdsSo.GetEdsPage2Details(Session("CID"))
If PageData.Tables(0).Rows.Count > 0 Then
drop_2_status.SelectedValue = PageData.Tables(0).Rows(0)("drop_2_status")
End If
PageData = Nothing
EdsSo = Nothing
End Sub
På ASP siden er der en "GEM" knap, med tilførende funktionalitet:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim EdsSo As New EdsSo
Call EdsSo.UpdateEdsPage2Details(drop_2_status.SelectedItem.Value.ToString, Session("CID"))
Response.Redirect("EDS_Page2.aspx")
End Sub
Min spørgsmål lyder nu: Hvorfor kan jeg ikke få oplyst den rigtige SelectedItem.Value - værdi, når jeg vil gemme. Det er som om, at den er ligeglad med hvad jeg ændrer mit valg i listboksen til. Den retunerer kun den værdi som blev sat i starten : drop_2_status.SelectedValue = PageData.Tables(0).Rows(0)("drop_2_status")
tilbage til mig.
Hvis jeg fjerner "drop_2_status.SelectedValue = PageData.Tables(0).Rows(0)("drop_2_status")" linien, kan jeg godt nok få den rigtige værdi tilbage. Hvad gør jeg galt?