2011-05-30 121 views
4

我想从代码隐藏中将新的文本框服务器控件添加到我的页面。从代码后面添加文本框服务器控件?

TextBox txt=new TextBox(); 
txt.Width=100; 
txt.Height=100; 

Page.Controls.Add(txt); 

当我写下面的代码,将引发此错误:

“类型‘文本框’的控制‘ctl02’必须放在一个窗体标记内与RUNAT =服务器”。

这个错误是什么原因引发的?这应该怎么做?

回答

5

里面的表格,你可以把一个占位符的位置,你想这个文本框出现:

<form runat="server"> 
    ... 
    <asp:PlaceHolder ID="holder" runat="server" /> 
    ... 
</form> 

,然后将文本框添加到该占位符:

TextBox txt = new TextBox(); 
txt.Width = 100; 
txt.Height = 100; 
holder.Controls.Add(txt); 
4

错误消息告诉您必须将TextBox控件添加到页面中的<form>元素中,而不是页面本身。请尝试:

Page.Form.Controls.Add(txt); 
+0

我明白了......感谢您回答FrédéricHamidi。 – Zoro 2011-05-30 15:48:30

+0

对挖掘恐龙感到抱歉,但是可以用HTML包装这些东西吗?这个工程,但我希望能够把表格放入一个表格,所以它的格式很好 – 2016-03-18 14:30:06

+0

@丹,绝对可以将'

'元素嵌套在页面标记中的''元素中。它应该工作得很好。 – 2016-03-18 14:35:59

相关问题