0

有没有办法在运行时读取一些 HTML 并用 PlaceHolder 控件动态替换该 HTML?

例如,我有一些 HTML 包含诸如 ##MainContent## 或 ##SideContent## 之类的标签。

我需要以某种方式找到每个标签并动态添加一个 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>

这样,它们仍然会像现在一样在页面上呈现。然后你应该能够在你的代码隐藏中使用litMainContent和: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 回答