Ist es nicht möglich, DropDownList in FormView aus dem Code dahinter zu laden?

Ich habe ein UserControl, das eine FormView enthält und eine DropDownList enthält. Die FormView ist an ein Datensteuerelement gebunden.

Wie so:

<asp:FormView ID="frmEdit" DataKeyNames="MetricCode" runat="server" DefaultMode="Edit" DataSourceID="llbDataSource" Cellpadding="0" >
    <EditItemTemplate>
        <asp:DropDownList ID="ParentMetricCode"  runat="server" SelectedValue='<%# Bind("ParentMetricCode") %>' />
    </EditItemTemplate>
<asp:FormView>

Ich versuche, die DropDownList vom Codebehind aus zu füllen. Wenn dies nicht in einer FormView enthalten war, würde ich es normalerweise nur im Page Load-Ereignis tun. Dies funktioniert jedoch nicht in einer FormView, sobald ich versuche, auf die Dropdown-Liste im Code zuzugreifen, d. H .:

theListcontrol = CType(formView.FindControl(listControlName), ListControl)  

... wird der Datenbindungsmechanismus der FormView aufgerufen, der natürlich versucht, die DropDownList an die zugrunde liegende Datenquelle zu binden, was dazu führt, dass ein ** 'ParentMetricCode' einen SelectedValue enthält, der ungültig ist, weil er in der Liste von nicht vorhanden ist Artikel. "Parametername: Wert ..." Fehler, da die DropDownList noch nicht gefüllt wurde.

Ich habe versucht, das Laden im DataBinding () -Ereignis von FormView durchzuführen, aber dann:

theListcontrol = CType(formView.FindControl(listControlName), System.Web.UI.WebControls.ListControl)

... schlägt fehl, da FormView.Controls.Count = 0 ist.

Ist das unmöglich? (Ich möchte keine sekundäre ObjectDataSource verwenden müssen, an die die Dropdown-Liste gebunden werden soll.)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage