有没有办法读取一些HTML并在运行时动态地用PlaceHolder控件替换该HTML?
例如,我有一些HTML包含## MainContent ##或## SideContent ##等标签。
我需要以某种方式找到每个标记并动态添加一个asp:PlaceHolder控件。
编辑 - 原因是读取HTML,然后动态地将控件添加到页面的一部分。我试图创建一个CMS系统,虽然我不确定这是最好的方法。
答案 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>
这样,它们仍然会像现在一样在页面上呈现。然后,您应该可以在代码隐藏中使用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);