私はasp.net Webアプリケーションプロジェクトを使用していますが、プログラムではasp:contentコントロールにアクセスできません。私はcontentplaceholderIDをコードの中で更新しようとしています。これは可能ですか?あなたのコンテンツページにcontentPlaceHolderIdを変更することはできませんasp:コンテンツをプログラムで設定します
おかげ
私はasp.net Webアプリケーションプロジェクトを使用していますが、プログラムではasp:contentコントロールにアクセスできません。私はcontentplaceholderIDをコードの中で更新しようとしています。これは可能ですか?あなたのコンテンツページにcontentPlaceHolderIdを変更することはできませんasp:コンテンツをプログラムで設定します
おかげ
ません。その理由は、contentplaceholderがマスターページに設定されていて、そのコンテンツプレースホルダーを参照して、どのcontentplaceholderにコンテンツがあるかを伝えるためです。
コンテンツコントロールはコントロールの階層に残っていて、存在しません。このASP.net threadここでは、別の方法しかし、それを更新することができる方法の方法を提供します
おそらくあなたの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コントロールを。
プレースホルダの内容を変更したり、プレースホルダのIDを変更しようとしていますか? – tvanfosson
私はコンテンツコントロールのcontentplaceholderIDプロパティの値をweb.configのappsettingから設定しようとしています – Shawn