2009-06-24 10 views
4

ここにコードがあります。このコントロールを取得しようとしていますので、ドロップダウンリストに項目を追加できます。コードビハインドで、ドロップダウンリスト)コードビハインドからFormView内のコントロールを見つけることができない問題

Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Dim DDRoleGroups As DropDownList 
    DDRoleGroups = FormView1.FindControl("DDRoleGroup") 
End Sub 

はここにFormViewコントロールです:(それは読みやすいですので、私はフィールドのほとんどを取った)

<asp:FormView ID="FormView1" runat="server" DataKeyNames="ID" 
    DataSourceID="ObjectDataSource_Vendors" 
    DefaultMode="Insert" BorderColor="DarkGray" 
    BorderStyle="Solid" BorderWidth="1px" CellPadding="4" Visible="False"> 
    <EditItemTemplate> 
    </EditItemTemplate> 
    <InsertItemTemplate>       
    <label class="form_label">Role Group:</label><br /><asp:DropDownList ID="DDRoleGroup" 
       runat="server" Width="175px" 
       EnableViewState="False"> 
       </asp:DropDownList> 
    </InsertItemTemplate> 
</asp:FormView> 

それはおそらくしなければならないだろうそれがPage_Loadサブの中にあり、コントロールが実際にあなたにロードされていないという事実t?

おかげで、
マット

答えて

1

にFindControl FormViewコントロールには、唯一のFormViewコントロールの「電流モード」プロパティに設定されたテンプレートのために動作します。あなたのケースでは

それがあなたのコントロールが内に存在するテンプレートですので、あなたのFormViewコントロールは、「挿入」に設定されている場合、あなたは「DDRoleGroups」のためにFindControlをのみ行うことができます。

希望に役立ちます。

+0

DefaultMode = "Insert" < - これはCurrentMode = "Insert"と同じではありませんか? – Matt

+0

DefaultModeは、挿入/更新/削除操作の後にformviewが返すものです。 CurrentModeは、FVが現在どのモードにあるかを表します。 あなたのDefaultModeを既に設定しているのを見たことがありませんでした。 Insertに設定されていて、実際にPage_Loadの間に挿入されていることを確認した場合は、別の処理が実行されています。 – womp

+0

あなたが示唆したことをし、さらにFindControlを 内にカプセル化しました。ViewForm1.CurrentMode.Equals( "Insert)Then。それは間違いなくIfの内部に入ったので、なぜ動作しないのかわかりません... – Matt

3

ドロップダウンは挿入モードにのみ存在します。電流モード==挿入した場合にFormViewコントロールのModeChangedイベントを実装し、コントロールを取得しよう:フォームがまだ挿入モードに切り替わっていないよう

protected void FormView1_ModeChanged(object sender, EventArgs e) 
{ 
    if (FormView1.CurrentMode == FormViewMode.Insert) 
    { 
     DropDownList DDRoleGroups = FormView1.FindControl("DDRoleGroup"); 
     // fill dropdown 
    } 
} 

あなたは、Page_Loadの中でこれを処理することはできません。

関連する問題