0

HTMLを読み取り、実行時にそのHTMLをPlaceHolderコントロールに動的に置き換える方法はありますか?

たとえば、##MainContent##や##SideContent##などのタグを含むHTMLがあります。

どういうわけか各タグを見つけて、asp:PlaceHolderコントロールを動的に追加する必要があります。

編集-この理由は、HTMLを読み込んでから、ページのセクションにコントロールを動的に追加するためです。CMSシステムを作成しようとしていますが、これが最善のアプローチかどうかはわかりません。

4

1 に答える 1

0

これが思考訓練になることを願っています。:)

理想的には、マークアップ内のこれらのタグを<asp:PlaceHolder>コントロールに置き換えるだけです。(何らかの理由で) それができない場合は、それらを<asp:Literal>コントロールに置き換えてみてください。

<asp:Literal ID="litMainContent" runat="server" Text="##MainContent##"><asp:Literal>
<asp:Literal ID="litSideContent" runat="server" Text="##SideContent##"><asp:Literal>

そうすれば、現在とまったく同じようにページにレンダリングされます。次に、コード ビハインドでlitMainContentandを使用できるようにする必要があります。litSideContent

VB.Net の場合:

Dim phMainContent As PlaceHolder = New PlaceHolder
Dim phMainContent As PlaceHolder = New PlaceHolder

litMainContent.Controls.Add(phMainContent)
litSideContent.Controls.Add(phSideContent)

C#.Net の場合

PlaceHolder phMainContent = new PlaceHolder();
PlaceHolder phMainContent = new PlaceHolder();

litMainContent.Controls.Add(phMainContent);
litSideContent.Controls.Add(phSideContent);
于 2012-10-12T00:55:03.697 に答える