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

发布于 2024-08-06 21:24:16 字数 751 浏览 6 评论 0原文

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

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

使用以下代码:

 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页面本身有两个<%...%>;阻止调用我的代码中的方法。

<代码><正文>

<%=渲染()%>
有人解决过这个问题吗?我可以采取另一种方法来解决这个问题吗?我基本上需要将此控件注入到此页面中,并在正确的位置内联运行 Render() 方法

I am trying to add a chart control to my .aspx page, but am getting the following error:

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

with this code:

 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);
  }
}

The aspx page itself has two <%...%> block calling methods in my code behind.

<body>
<div id="portletContent" runat="server">
<%=Render()%>
</div>
</body>
Has anyone solved this problem before? Is there another approach I can take to get around this. I basically need to inject this control into this page, and also run the Render() method inline at the right place

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧时模样 2024-08-13 21:24:16

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

Either replace the <%= with <%# (if you can) or add a PlaceHolder control into the page and add your control to the PlaceHolder's Control collection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文