2009-07-20 60 views

回答

1

尽量不要重写Render WebPart类的方法,而是重写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); 
} 
+0

感谢您的回复的人。不幸的是我试了一下,但它没有奏效。控件没有出现,但只有文本hello world出现。我应该完全删除这个方法吗? – 2009-07-20 11:39:11

+0

你在哪里部署了WebPart DLL。在GAC中?更改WebPart DLL后,您将不得不重新启动IIS以使更改工作。 – Kusek 2009-07-21 02:53:08

1

你需要的所有必需控制在代码Controls.Add被在一侧的CreateChildControls方法,您将无法使用设计器来设计控件,如同对自定义(Till Visual Studio 2010已发布 - 它具有称为Web部件设计器的选项)。请参阅此link使用代码添加控件。如果你想添加多个控件,安排控件和应用样式表将会很困难。我建议您使用SmartPart,它的作用是帮助您加载您创建为webPart的任何用户控件。所以你不需要担心使用代码添加控件,放置它们,设计它们。

0

希望这将帮助:

Label lb1; 
protected override void CreateChildControls() 
    { 
     base.CreateChildControls(); 
     lb1 = new Label(); 
     lb1.ID = "label1"; 
     lb1.Text = "Controls in webpart";   
     this.Controls.Add(lb1); 
    } 
相关问题