Question

J'ai 2 DropDownLists sur ma page ASPX, seconde est filtré par la sélection dans la première liste.

Comment puis-je présélectionner les deux listes déroulantes avec les données enregistrées dans la base de données pour l'enregistrement lorsque la page se charge, il ne fonctionne pas quand je lie les données sur la page sur Page_Load.

J'utilise ObjectDataSource pour lier les deux DropDownLists.

<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();
}
Était-ce utile?

La solution 2

J'ai fini par lier la deuxième dropdownlist sur l'événement DataBind du premier dropdownlist.

Autres conseils

il devrait juste être un cas de réglage de SelectedIndex propriété sur chaque contrôle DropDownList

ddlStatus.SelectedIndex = [your selected index];
ddlSubStatus.SelectedIndex = [your selected index];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top