2012-03-18 17 views
0

大丈夫ですか? 私はupdatepanelの中​​にあるボタンを持っています。このボタンをクリックしてください。私はupdatepanelのupdatepanelを読み込もうとしています。この中にusercontrolが追加されています。これは、成功していないと動的に行われます。 誰か助けてくれますか?UpdatePanel、TriggerPostBack、およびUserControl TabPanelで動的にロードする方法

Protected Sub btnNewRpt_Click(sender As Object, e As EventArgs) Handles btnNewRpt.Click 
     Dim hydic As New HybridDictionary From {{"tabId", "tab1"}, 
               {"ucPath", "UCRelatorioNovo.ascx"}, 
               {"ucId", "uc1"}} 

     buildControls(hydic) 
    End Sub 

Private Sub buildControls(ByVal hydic As HybridDictionary) 
    Dim uc As UserControl = LoadControl(hydic("ucPath")) 
    uc.ID = hydic("ucId") 

    Dim tg As New PostBackTrigger With {.ControlID = uc.FindControl("btnLoadOtherUC").UniqueID} 

    Dim up As New UpdatePanel With {.ID = "upTest"} 
    up.ContentTemplateContainer.Controls.Add(uc) 
    up.Triggers.Add(tg) 

    Dim tp As New TabPanel With {.ID = hydic("tabId")} 
    tp.Controls.Add(up) 

    TabContainer1.Controls.Add(tp) 
End Sub 

エラーの説明は次のとおりです。ID 'TabContainer1_tab1_upTest' でのUpdatePanelを見つけることができませんでした。動的に更新されている場合は、別のUpdatePanel内にある必要があります。あなたは他にあなたがupTest内部のみカスタムコントロールを配置することができ、カスタムコントロールを更新するほか、それらを更新したい場合は代わりにタブコンテナのタブパネル内のUpdatePanel upTestを配置する

+0

なぜ更新パネルをタブコンテナに追加していますか?これらのコントロールを動的に追加するのではなく、aspxファイルに配置することはできませんか? – Coder

+0

ユーザは誰が何個のユーザコントロールを開くかを決定するので、 – Elias

答えて

0

upTestの内側にタブコンテナ/タブパネルを配置します。

+0

コーダー、ごめんなさいあなたの言ったことを理解できませんでした。私は新しいタブを作成し、updatepanelの内側とusercontrolの中に、すべてが動的でなければならないことを覚えておく必要があります。 – Elias

+0

_upTest_のUpdateModeを_Conditional_に、ChildrenAsTriggersを_false_に設定します。 [http://forums.asp.net/t/1337905.aspx/1]と[http://forums.asp.net/t/1046285.aspx/2/10]を参照してください。 – Coder

関連する問題