ASPX以编程方式添加HTML内容

时间:2014-01-12 08:37:34

标签: c# asp.net master-pages

我有一个简单的ASPX页面,它继承自MasterPage

(Popup.master)

<div class="text_container">
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">    
    </asp:ContentPlaceHolder>
</div>

(Privacy.aspx)              隐私     

<asp:Content ID="BodyContent" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

</asp:Content>

我需要在Privacy.aspx.cs中添加HTML内容:

public partial class Privacy : System.Web.UI.Page
{
    protected override void OnPreInit(EventArgs e)
    {
        ContentPlaceHolder body = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");

    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

我看到了这个example,但是我看到里面需要asp控制。 如何仅将HTML内容添加到ContentPlaceHolder1

1 个答案:

答案 0 :(得分:1)

ContentPlaceHolder旨在让您能够使用内容控件在页面标记中添加控件,并使它们显示在母版页的上下文中。鉴于此,在Privacy.aspx中,您可以在BodyContent内容控件中添加通用html控件,并在代码中添加的控件上设置InnerContent属性。

<强>标记

<asp:Content ID="BodyContent" ContentPlaceHolderID="ContentPlaceHolder1" 
             runat="server">
    <span id="SpanContent" runat="server"></span>
</asp:Content>

代码背后

protected void Page_Load(object sender, EventArgs e)
{
     SpanContent.InnerHtml = "<b>Hello!</b>";
}