2009-04-06 10 views
1

私はasp.net Webアプリケーションプロジェクトを使用していますが、プログラムではasp:contentコントロールにアクセスできません。私はcontentplaceholderIDをコードの中で更新しようとしています。これは可能ですか?あなたのコンテンツページにcontentPlaceHolderIdを変更することはできませんasp:コンテンツをプログラムで設定します

おかげ

+0

プレースホルダの内容を変更したり、プレースホルダのIDを変更しようとしていますか? – tvanfosson

+0

私はコンテンツコントロールのcontentplaceholderIDプロパティの値をweb.configのappsettingから設定しようとしています – Shawn

答えて

0

ません。その理由は、contentplaceholderがマスターページに設定されていて、そのコンテンツプレースホルダーを参照して、どのcontentplaceholderにコンテンツがあるかを伝えるためです。

コンテンツコントロールはコントロールの階層に残っていて、存在しません。このASP.net threadここでは、別の方法しかし、それを更新することができる方法の方法を提供します

+0

実際に何をしようとしていますか?同じコントロールのasp.netのWebコントロールを呼び出すのは同じです – TStamper

+0

コンテンツコントロールのcontentplaceholderIDプロパティの値をweb.config appsettingから設定します。 – Shawn

+0

投稿したコードが動作しない – Shawn

3

おそらくあなたのASPのContentPlaceHolderIdを変更することはできませんが:内容は、あなたが直接ContentPlaceHoldersの内容を制御することができますを通じてページからマスターページにアクセスそのMasterプロパティを使用して、FindControl関数を使用して、マスターページでContentPlaceHolderを検索します。その後、Controlsプロパティを使用してコンテンツを編集します。

var masterContent = Master.FindControl("largeContent") as ContentPlaceHolder; 
masterContent.Controls.Add(new Literal { Text = "Hello, world!" }); 

あなたはおそらく、これはASP追加するハック「」を使うこともできますので、これはあなたが望んでいた機能をエミュレート可能性がしたい任意のContentPlaceHolderにPanelコントロールを。

関連する問題