0

サイズ変更可能でドラッグ/ドロップ可能なajaxコントロールツールキットのアコーディオンコントロールをプログラムで生成しようとしましたが、いくつかの問題が発生しています。

まず、それはできますか?

第二に、私のアプローチは正確には機能していません。OnClickがアコーディオンを作成することになっているボタンがあります。だから私はアコーディオンを作成します。アコーディオンペインを追加します。アコーディオンペインにコンボボタンを追加します。次に、アコーディオン全体をAjaxパネルに追加します。私のイベントハンドラーは次のとおりです。

    protected void btnTest_Clicked(object sender, EventArgs e)
    {
        //Generate the accordion
        AjaxControlToolkit.Accordion acc = new AjaxControlToolkit.Accordion();

        //Generate a single accordion pane
        AjaxControlToolkit.AccordionPane itm = new AccordionPane();

        //Create and add a control to the pane
        AjaxControlToolkit.ComboBoxButton cbbtn = new ComboBoxButton();
        itm.Controls.Add(cbbtn);   
        acc.Panes.Add(itm);

        //Add resizable extender to the accordion.  Only did resizable for now.
        //One step at a time.
        AjaxControlToolkit.ResizableControlExtender extResizeLocation = new AjaxControlToolkit.ResizableControlExtender();
        extResizeLocation.TargetControlID = acc.ID;
        extResizeLocation.Enabled = true;

        //Add accordion to update panel and update.
        UpdatePanel1.Controls.Add(acc);
        UpdatePanel1.Update();
    }

テストボタンを押すと、テストボタンの下にテキストが生成されていない最小化されたボタンのように見えます。どうしたらいいのかわからない。

ヘルプに感謝します

4

2 に答える 2

1

JQuery UIアコーディオンウィジェットを見て、ドラッグ可能/ドロップ可能の相互作用を使用することをお勧めします。

サーバー側のコードを使用してブロックを作成し、jQueryの相互作用を適用できます。

于 2013-01-03T19:47:46.780 に答える
1

動的に追加されたコントロールは、通常、ページの init または preinit イベント中に追加されることになっています。ロード後に実行しているため、これは複雑になる可能性があります。

重要なのは$register、クライアントでアコーディオンのメソッドが実行されていることを確認することです。これは、AJAX コンポーネントのクライアント側機能を初期化し、ライフサイクルを開始するものです。動的に追加されたコントロールで発生するかどうかはわかりません...

于 2013-01-03T19:39:57.887 に答える