2009-07-01 11 views
0

Ich habe 2 Dropdown-Listen auf meiner Aspx-Seite, zweite wird durch die Auswahl in der ersten Liste gefiltert.So wählen Sie DropDownList Elemente in kaskadierendem Design auf page_load

Wie wähle ich die zwei Dropdown-Listen mit den Daten in der Datenbank für den Datensatz beim Laden der Seite vor, es funktioniert nicht, wenn ich Daten auf der Seite auf Page_Load binden.

Ich verwende ObjectDataSource, um die zwei Dropdown-Listen zu binden.

<asp:DropDownList ID="ddlStatus" runat="server" Enabled="False" 
onselectedindexchanged="ddlStatus_SelectedIndexChanged" 
AutoPostBack="True" Width="100px" DataSourceID="ObjectDataSource1" 
DataTextField="Status_Desc" DataValueField="Status_Id" /> 

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
OldValuesParameterFormatString="original_{0}" SelectMethod="GetStatusAll" 
TypeName="MyDALTableAdapters.StatusTableAdapter"></asp:ObjectDataSource>  

<asp:DropDownList ID="ddlSubStatus" runat="server" Enabled="False" 
EnableViewState="False" Width="230px" DataSourceID="ObjectDataSource2" 
DataTextField="Sub_Status_Desc" DataValueField="Sub_Status_Id" /> 

<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" 
OldValuesParameterFormatString="original_{0}" SelectMethod="GetSubStatusData" 
TypeName="MyDALTableAdapters.MyStatusSubGetAllTableAdapter"> 
<SelectParameters> 
<asp:ControlParameter ControlID="ddlStatus" DefaultValue="-1" Name="StatusId" 
PropertyName="SelectedValue" Type="Int32" /> 
</SelectParameters> 
</asp:ObjectDataSource> 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     // How to I select the values stored for this record? 
    } 
} 

protected void ddlStatus_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ObjectDataSource2.DataBind(); 
} 
+0

plz überprüfen Sie meine Antwort, wenn das Problem immer noch besteht, dann posten Sie Ihren vollständigen Seitencode ... –

Antwort

0

ich die zweite Dropdownlist auf dem DataBind-Ereignisse der ersten Dropdownlist-Bindung endete.

0

sollte es nur ein Fall des Einstellens die SelectedIndex Eigenschaft auf jedem Steuerelement Dropdownlist seines

ddlStatus.SelectedIndex = [your selected index]; 
ddlSubStatus.SelectedIndex = [your selected index]; 
+0

Ich habe das versucht, Problem ist, dass die zweite Liste basierend auf der Auswahl in der ersten Liste auffüllt. Die Elemente in der zweiten Liste sind also noch nicht vorhanden. – Picflight

+0

Die Einstellung ddlSubStatus.SelectedIndex sollte außerhalb von "if (! Page.IsPostBack)" erfolgen. –

Verwandte Themen