0

目前这是有效的:

<div id="DashboardDiv" runat="server">
        <asp:Panel ID="pnlA" runat="server" CssClass="Widget" Width ="900">
            <asp:Literal ID="ltrChart" runat="server"></asp:Literal>
        </asp:Panel>
        <asp:Panel ID="pnlB" runat="server" CssClass="Widget" Width ="900">
            <asp:Literal ID="ltrChart2" runat="server"></asp:Literal>
        </asp:Panel>
</div>

我需要使用文字,以便在代码隐藏中使用 dotNet Highcharts。

然而,问题是我正在创建一个显示多个小部件的仪表板。现在我的测试用例由 1 个小部件组成,但我想最终将其扩展到不确定数量的小部件。

我觉得我需要在运行时根据用户想要的小部件数量创建面板(以及添加到这些面板的文字)。我该怎么做呢?

我试过这样的事情:

protected static List<Panel> panelList = new List<Panel>();

Panel myChildPanel = new Panel();
myChildPanel.Width = 900;
panelList.Add(myChildPanel);
DashboardDiv.Controls.Add(myChildPanel);

然后将文字添加到此面板列表中,添加到指定面板:

Literal ltrChart = new Literal();
ltrChart.Text = chart.ToHtmlString();
panelList[counter].Controls.Add(ltrChart);

这感觉像是一种丑陋的做事方式。 基本上我正在寻找这个:

如何在代码隐藏中创建能够包含文字的面板/区域/区域,以便我可以创建一个充满小部件外观的仪表板?

4

1 回答 1

1

您是否尝试过使用 asp 占位符?我相信他们会帮助你实现你想做的事情。它们允许您在其中放置和控制类型,并且您可以根据特定条件隐藏和显示占位符。例如

<asp:Placeholder runat="server" visible="<%=CMSContext.CurrentUserIsAuthenticated()%> >
<div class="faq-listing itmList faq odd">
<h2 class="heading"> Home</h2>
<asp:Repeater ID="rptSubFaq" runat="server">
</asp:Repeater>
</div>
</asp:Placeholder>
于 2013-04-08T15:42:23.733 回答