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

时间:2015-05-14 20:45:38

标签: c# asp.net

我正在尝试动态地将ASP LinkBut​​ton控件添加到我的页面但遇到错误"控件集合无法修改,因为控件包含代码块(即<%...%>)& #34 ;.

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

以下代码是我将控件添加到我的页面的方式。

编辑:

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

1 个答案:

答案 0 :(得分:1)

您的代码无效,因为您需要创建变量,您无法为某个类型指定值。以下代码适用于我,如果错误仍然存​​在,则意味着它可能是其他内容。

用这个替换你的代码

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

另外,看看这个question,也许在那里你可以找到答案,让我知道它是否有效