2009-07-20 59 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); 
    } 
相關問題