AJAX工具包Accordion在发布时不起作用

时间:2012-11-29 12:30:10

标签: c# asp.net ajax ajaxcontroltoolkit

我正在使用AJAX控件工具包中的AJAX手风琴来显示从数据库中提取的动态项目列表。我从后面的代码生成整个手风琴。这在本地测试时没有问题,但是当我在线发布时,手风琴显示第一个项目,但在点击时没有做任何其他事情,基本上没有响应任何事情。还有指向手风琴内容中其他页面的链接,这些内容确实有效。

对于aspx我正在使用一个包含在其中的主页:toolkitscriptmanager:

<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server EnablePartialRendering="true">
    </asp:ToolkitScriptManager>

在内容中我还添加了一个scriptmanagerproxy,希望能够解决问题,但事实并非如此。

空手风琴是这样的:

<asp:accordion ID="Accordion1" runat="server"
HeaderCssClass="Header" ContentCssClass="Contents"
Font-Names="Verdana" Font-Size="10"
BorderColor="#000000" BorderStyle="Solid" BorderWidth="1"
FramesPerSecond="100" FadeTransitions="true"
TransitionDuration="500">
</asp:accordion>

这是我目前生成手风琴的代码:

public void getRequests()
    {

        DataTable requests = getRequests();

        if (requests.Rows.Count == 0)
        {
            return;
        }

        for (int i = 0; i < requests.Rows.Count; i++)
        {

            DataTable makers = getInformationByRequest();
            AjaxControlToolkit.AccordionPane pane1 = new AjaxControlToolkit.AccordionPane();
            pane1.ID = "pane" + i;
            Table table = new Table();
            table.Width = Unit.Percentage(100);
            TableRow row = new TableRow();
            row.CssClass = "Header";
            for (int j = 0; j < 4; j++)
            {
                Create panel head with information
            }
            table.Rows.Add(row);
            pane1.HeaderContainer.Controls.Add(table);

            Table table1 = new Table();
            table1.Width = Unit.Percentage(100);

            TableRow rowhead = new TableRow();
            rowhead.CssClass = "Contents";

            TableCell cellName = new TableCell();
            cellName.Text = "Bedrijf naam";
            TableCell cellStatus = new TableCell();
            cellStatus.Text = "Request status";
            TableCell cellAction = new TableCell();
            cellAction.Text = "Actie";

            rowhead.Cells.Add(cellName);
            rowhead.Cells.Add(cellStatus);
            rowhead.Cells.Add(cellAction);

            table1.Rows.Add(rowhead);

            for (int j = 0; j < makers.Rows.Count; j++)
            {
                TableRow row1 = new TableRow();

                if (makers.Rows.Count != 0)
                {
                    //method to create table1
            }
            pane1.ContentContainer.Controls.Add(table1);
            }

            Accordion1.Panes.Add(pane1);
        }

正如我所说的那样,这在调试时没有任何问题。

非常感谢任何帮助。

编辑:

我用这个来解决它:

http://geekswithblogs.net/lorint/archive/2007/03/28/110161.aspx

感谢henk mollema让我走上正轨。

0 个答案:

没有答案