2009-07-01 79 views
0

我在我的aspx頁面上有2個下拉列表,第二個按第一個列表中的選擇進行過濾。如何在page_load上的層疊設計中選擇DropDownList項目

如何在頁面加載時預先選擇兩個下拉列表以及保存在數據庫中的數據作爲記錄,當我將頁面上的數據綁定到Page_Load時,它不起作用。

我正在使用ObjectDataSource綁定兩個下拉列表。

<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檢查我的答案,如果問題仍然存在,然後發佈您的完整頁面代碼... – 2009-07-02 06:55:40

回答

0

我結束了第一個下拉列表的DataBind事件綁定第二下拉列表中SelectedIndex財產的情況。

0

它應該只是設置每個DropDownList控件

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

我試過了,問題在於第二個列表基於第一個列表中的選擇填充。所以,第二個列表中的項目還沒有在那裏。 – Picflight 2009-07-01 22:08:56

相關問題