目前正在运作:
<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);
这感觉就像一种丑陋的做事方式。 基本上我正在寻找这个:
如何在代码隐藏中创建能够包含Literal的面板/区域/区域,以便我可以创建一个充满小部件的仪表板 - 外观?
答案 0 :(得分: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>