2009-07-20 8 views
0

私はこのウェブサイトの内容に従うことで簡単なwebpartを作ることができました http://www.codeguru.com/csharp/.net/net_asp/webforms/article.php/c12293/ 今、私はTextBoxes、Buttons、TreeViewsのようなコントロールを追加したいと思います... どうすればいいですか?私がコーディングした場所は単なるクラスライブラリでした!デザイナーとページをコーディングに使用するにはどうすればいいですか?SharePoint WebPartにコントロールを追加する方法?

答えて

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); 
} 
+0

感謝。残念ながら私はそれを試しましたが、それは仕事をしませんでした。コントロールは表示されませんでしたが、テキストのhelloワールドだけが表示されました。このメソッドを完全に削除しますか? –

+0

WebPart dllはどこに配置しましたか? GACでは? WebPart DLLを変更したら、IISを再起動して変更を有効にする必要があります。 – Kusek

1

あなたが側でのコードControls.Addのすべての必要なコントロールにCreateChildControlsのを必要としますメソッドを使用すると、デザイナを使用して、カスタム(Visual Studio 2010がリリースされるまで - )のようにコントロールを設計することはできません。linkを参考にして、Webパーツデザイナというオプションがあります。コードを使ってコントロールを追加する複数のコントロールを追加する場合は、コントロールを配置してスタイルシートを適用するのは難しいでしょう。 SmartPartを使用することをお勧めします。これは、webPartとして作成したすべてのusercontrolをロードするのに役立ちます。だから、コードを使ってコントロールを追加することを心配する必要はありません。これが役立つ

+0

+1私は同意して、ascxのusercontrolを使用し、あなたのwebpartの中にホストします。 –

+0

SmartPartは素晴らしい人です。ありがとう:) しかし、私はビジュアルスタジオでデザインを見ることができないので、今私は別の問題があります。どんな助け? http://stackoverflow.com/questions/1158248/can-not-find-project-web-item-error –

0

希望:お返事の男のための

Label lb1; 
protected override void CreateChildControls() 
    { 
     base.CreateChildControls(); 
     lb1 = new Label(); 
     lb1.ID = "label1"; 
     lb1.Text = "Controls in webpart";   
     this.Controls.Add(lb1); 
    } 
関連する問題