使用Ajax Control Toolkit,我将如何以编程方式创建可在运行时调整大小并可拖放的折叠控制?

时间:2013-01-03 18:34:50

标签: asp.net ajaxcontroltoolkit ajax.net

我试图以编程方式生成可调整大小和可拖放的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();
    }

当我按下测试按钮时,我得到的是在测试按钮下没有生成文本的最小化按钮。我不知道该怎么做。

感谢帮助

1 个答案:

答案 0 :(得分:1)

动态添加的控件通常应该在页面的init或preinit事件期间添加。这可能是一个复杂因素,因为你是在加载后这样做的。

关键是要确保手风琴客户端上的$register方法正在发生。这是初始化AJAX组件的客户端功能,并启动生命周期。我不知道动态添加控件是否会发生......