簡體   English   中英

使用Ajax Control Toolkit,我將如何以編程方式創建可在運行時調整大小並可拖放的折疊控制?

[英]With the Ajax Control Toolkit, how would I go about programmatically creating an accordion control that is resizeable and drag/droppable at runtime?

我試圖以編程方式生成可調整大小和可拖放的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();
    }

當我按下測試按鈕時,我得到的是一個似乎是最小化的按鈕,沒有在測試按鈕下生成文本。 我不知道該怎么做。

感謝幫助

動態添加的控件通常應該在頁面的init或preinit事件期間添加。 這可能是一個復雜因素,因為您在加載后正在執行此操作。

關鍵是要確保手風琴客戶端上的$register方法正在發生。 這是初始化AJAX組件的客戶端功能,並啟動生命周期。 我不知道動態添加的控件是否會發生......

您可能希望查看JQuery UI Accordian小部件並使用draggable / droppable交互。

您可以使用服務器端代碼來創建塊並應用jQuery交互。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM