用ASP.NET中的PlaceHolder控件替换HTML

时间:2012-10-12 00:18:38

标签: asp.net placeholder

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

例如,我有一些HTML包含## MainContent ##或## SideContent ##等标签。

我需要以某种方式找到每个标记并动态添加一个asp:PlaceHolder控件。

编辑 - 原因是读取HTML,然后动态地将控件添加到页面的一部分。我试图创建一个CMS系统,虽然我不确定这是最好的方法。

1 个答案:

答案 0 :(得分: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>

这样,它们仍然会像现在一样在页面上呈现。然后,您应该可以在代码隐藏中使用litMainContentlitSideContent

对于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);
相关问题