动态添加按钮 - 必须放在表单标签内

时间:2013-01-27 20:09:07

标签: c# asp.net

我正在使用C#动态创建一个按钮。但是当它被执行时我得到一个错误;

Control 'butidd' of type 'Button' must be placed inside a form tag with runat=server.

代码

                Button but = new Button();
                but.ID = "butidd";
                but.Attributes.Add("runat", "server");
                but.Text = "test";
                but.Click += new EventHandler(but_click);
                this.Controls.Add(but);

点击事件:

void but_click(object sender, EventArgs e){}

2 个答案:

答案 0 :(得分:3)

由于错误明确指出,您需要在<form runat="server">内的某处添加控件;不直接在页面中。

答案 1 :(得分:0)

如果你想动态添加控件...最好在表单设计视图中创建一个面板,并动态地将控件添加到该面板......

如果你在设计视图上创建一个面板,那么它就位于表单标签下......这是最简单的......它避免了这种类型的混淆和错误......

尝试此链接以供参考... http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx