【问题标题】:Replace HTML with PlaceHolder control in ASP.NET在 ASP.NET 中用 PlaceHolder 控件替换 HTML
【发布时间】:2012-10-02 18:21:41
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: asp.net placeholder


    【解决方案1】:

    我希望这是一个思考练习。 :)

    理想情况下,您应该将标记中的这些标签替换为<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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2012-08-03
      • 2015-01-11
      • 2011-07-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多