我可以通过关注本网站上的内容制作一个简单的网站部分 http://www.codeguru.com/csharp/.net/net_asp/webforms/article.php/c12293/ 但是现在我想添加像TextBoxes,Buttons,TreeViews这样的控件...... 我怎样才能做到这一点?我编写的地方只是一个类库!如何使用设计器和页面进行编码?
答案 0 :(得分:1)
尽量不要覆盖WebPart类的Render方法,而是覆盖CreateChildControls方法,如下所示:
protected TextBox txtName;
protected Button btnSubmit;
// create child control
protected override void CreateChildControls() {
txtName = new TextBox();
this.Controls.Add(txtName);
btnSubmit = new Button();
btnSubmit.Text = "Submit Name";
this.Controls.Add(btnSubmit);
}
答案 1 :(得分:1)
您需要在代码 Controls.Add旁边的CreateChildControls方法中的所有必需控件,您将无法像使用自定义那样使用设计器来设计控件(直到Visual Studio 2010发布 - 它有一个名为Web部件设计器的选项)。请参阅此link,例如如何使用代码添加控件。如果要添加多个控件,排列控件和应用样式表将是一个艰难的过程。我建议您使用SmartPart,它的作用是它可以帮助您加载您创建为webPart的任何用户控件。因此,您不必担心使用代码添加控件,放置它们,设置样式。
答案 2 :(得分:0)
希望这会有所帮助:
Label lb1;
protected override void CreateChildControls()
{
base.CreateChildControls();
lb1 = new Label();
lb1.ID = "label1";
lb1.Text = "Controls in webpart";
this.Controls.Add(lb1);
}