1

我试图弄清楚是否有一种方法可以从数据库字段中提取代码并将其呈现在网站上。例如,我从数据库中的一个字段中提取以下内容:

    <asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1" 
Height="324px" Width="849px" Palette="EarthTones">
<Series>
       <asp:Series Name="Series1" XValueMember="UserID" YValueMembers="AvgAvail" XAxisType="Primary" IsValueShownAsLabel="true">
        </asp:Series>
</Series>
       <ChartAreas>
       <asp:ChartArea Name="ChartArea1" >
       <AxisX Interval="1"><MajorGrid Enabled="false" /></AxisX>
       </asp:ChartArea>
       </ChartAreas>
</asp:Chart>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="DELETED" SelectCommand="REALLYLONG"></asp:SqlDataSource>

我希望 .NET 呈现图表。

这是前端:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers><asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /></Triggers>
<ContentTemplate><%=MainTile %>

</ContentTemplate>
</asp:UpdatePanel>

所以基本上在 PageLoad() 事件中,我从 DB 字段中提取代码,然后将其设置为 =MainTile 并呈现图表。目前它只是将 ASP 代码放入页面源代码中。

提前致谢!

4

2 回答 2

1

您需要 ParseControl 功能...

这是我一直使用的一些代码,用于从存储在数据库中的代码呈现页面模板。它构建了整个控制树。这很棒!

Template t = new Template(templateId);
Control c = ParseControl(t.TemplateContent);
Page.Controls.Add(c);
于 2012-08-16T21:28:51.470 回答
0

如果您只需要加载图表外观 - 您可以在 ASPX 标记中使用静态图表控件,并通过“Chart.Serializer.Load()”方法简单地加载外观数据。

于 2012-08-16T21:36:10.283 回答