【问题标题】:Code behind fix for " The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>)"“无法修改控件集合,因为控件包含代码块(即 <% ... %>)”的代码隐藏修复
【发布时间】:2015-05-14 20:45:37
【问题描述】:

我正在尝试将 ASP LinkBut​​ton 控件动态添加到我的页面,但遇到错误“无法修改控件集合,因为控件包含代码块(即 )”。

是否可以通过更改背后的代码来解决此问题?我已经看到了可以更改客户端脚本的修复程序,但我需要从后面的代码中修复它。我将此控件添加到许多页面继承的基本页面。因此,最好在后面的代码中进行这种更改,而不是更改每个单独的 aspx 页面。

下面的代码是我如何将控件添加到我的页面。

已编辑:

            LinkButton addLinkButton = new LinkButton();
            addLinkButton.ID = "linkButton";
            addLinkButton.PostBackUrl = "Default.aspx";
            this.Form.Controls.Add(addLinkButton);

【问题讨论】:

  • 发布你的代码,看看你是怎么做到的
  • @EnriqueZavaleta 编辑了我的帖子

标签: c# asp.net


【解决方案1】:

您的代码无法正常工作,因为您需要创建一个变量,您不能将值分配给一个类型。以下代码对我有用,如果错误仍然存​​在,则意味着它可能是其他问题。

用这个替换你的代码

LinkButton lbtn = new LinkButton();
lbtn.ID = "linkButton";
lbtn.Text = "my new LinkButton";
lbtn.PostBackUrl = "Default.aspx";
this.Form.Controls.Add(lbtn);

另外,看看这个question,也许你能找到答案,让我知道它是否有效

【讨论】:

  • 对不起,我错误地复制了我的代码。我在上面对其进行了编辑,但仍然遇到相同的错误。我之前看到过这个问题,但我想知道是否有任何方法可以修复错误而无需进入 aspx 页面。
  • 只有那个代码,我不知道还能是什么
猜你喜欢
  • 2011-06-27
  • 2013-05-25
  • 1970-01-01
相关资源
最近更新 更多