使用脚本块动态地将Web控件添加到.Aspx页面

时间:2009-10-05 04:31:19

标签: c# web-controls

我正在尝试将图表控件添加到我的.aspx页面,但是收到以下错误:

无法修改Controls集合,因为该控件包含代码块(即<%...%>)。

使用此代码:

 protected void Page_Init(object sender, EventArgs e) {

  if (Context.Items.Contains("ajaxChart")) {
    ajaxChart = (bool) Context.Items["ajaxChart"];
  }

  if (Context.Items.Contains("chartControl") && ajaxChart) {
    _ChartControl = (ChartControl) Context.Items["chartControl"];
  }

  if (_ChartControl != null) {
    this.portletContent.Controls.Add(_ChartControl);
  }
}

aspx页面本身有两个<%...%>在我的代码后面阻止调用方法。

<body> <div id="portletContent" runat="server"> <%=Render()%> </div> </body>有没有人以前解决过这个问题?我可以采取另一种方法来解决这个问题。我基本上需要将此控件注入此页面,并在正确的位置内联运行Render()方法

1 个答案:

答案 0 :(得分:0)

将&lt;%=替换为&lt;%#(如果可以)或将PlaceHolder控件添加到页面中,并将控件添加到PlaceHolder的Control集合中。