首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过ajax/javascript返回CollapsiblePanelExtender

通过ajax/javascript返回CollapsiblePanelExtender
EN

Stack Overflow用户
提问于 2009-07-08 13:37:28
回答 1查看 1.1K关注 0票数 0

我希望能够通过javascript返回一个以编程方式生成的可折叠面板扩展器,以及它的面板等等。我已经让面板和相关的表格通过了,但是当我尝试连接cpe时,它就坏了。并返回错误:

cpe面板等由WebService生成,我尝试让JS将get服务动态返回到特定字段的内容写入

Microsoft JScript runtime error: Sys.Net.WebServiceFailedException: The server method 'Sub_Menu_Helper' failed with the following error: System.InvalidOperationException-- Page cannot be null. Please ensure that this operation is being performed in the context of an ASP.NET request.

代码语言:javascript
复制
                {
                    Label somelabel = new Label();
                    somelabel.ID = somenumber.ToString();
                    somelabel.Text = somenumber.ToString();
                    subpnlContent.Controls.Add(somelabel);
                    ++somenumber;
                }

                CollapsiblePanelExtender cpeMenuLast = new CollapsiblePanelExtenderEx();
                cpeMenuLast.ID = "subcpe" + strMenuId + strParentHierarchyIds;
                cpeMenuLast.TargetControlID = "subpnlContent" + strParentMenuId + "_" + strMenuId;
                cpeMenuLast.ExpandControlID = "cellContent" + strParentMenuId + "_" + strMenuId;
                cpeMenuLast.CollapseControlID = "cellContent" + strParentMenuId + "_" + strMenuId;
                cpeMenuLast.Collapsed = bCollapsed;
                cpeMenuLast.TextLabelID = strMenuName;
                cpeMenuLast.ExpandedText = m_strButtonLabelHide;
                cpeMenuLast.CollapsedText = m_strButtonLabelShow;
                cpeMenuLast.ImageControlID = "imglnk" + strMenuId;
                cpeMenuLast.CollapsedImage = "~/App_Themes/default/nbExpand.gif";
                cpeMenuLast.ExpandedImage = "~/App_Themes/default/nbCollapse.gif";
                cpeMenuLast.SuppressPostBack = true;
                cpeMenuLast.ScrollContents = false;

                //Add Everything
                cellSubMenu.Controls.Add(subpnlContent);
                cellSubMenu.Controls.Add(cpeMenuLast);
                row.Cells.Add(cellSubMenu);
                tbl.Rows.Add(row);

                using (StringWriter sw = new StringWriter(sb))
                {
                    using (HtmlTextWriter tw = new HtmlTextWriter(sw))
                    {
                        tbl.RenderControl(tw);
                    }
                }

我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2010-01-07 18:01:15

看起来您需要一个带有ScriptManagerPage对象来呈现CollapsiblePanelExtender,这是有意义的,因为您需要一些脚本才能正常工作。

因此,也许您可以尝试以下方法来呈现您的表:

代码语言:javascript
复制
var page = new Page();
page.Controls.Add(new ScriptManager());
page.Controls.Add(tbl);
var writer = new StringWriter();
HttpContext.Current.Server.Execute(page, writer, false);
return writer.ToString();

奥利弗

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1098128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档