领悟旧事

Learned Helplessness
分类新闻>>技术文章>>
如何在后台代码中往ContentPlaceHolder里添加内容
来源:http://www.xx0594.com/
时间:2017-3-27
作者:  浏览人数:936

1.新建MasterPage.master母板页,里面有<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder>

2.新建test.aspx页面,继承自母板页MasterPage.master,然后在test.aspx页面的内容页中添加Label,如下:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</asp:Content>

3.在test.aspx.cs中测试:
protected void Page_Load(object sender, EventArgs e)
{
    MasterPage master = (MasterPage)this.Master;

    ContentPlaceHolder content = (ContentPlaceHolder)master.FindControl("ContentPlaceHolder1");
    content.Controls.Add(new TextBox());//添加textbox

    Label lb = (Label)content.FindControl("Label1");//为label赋值
    lb.Text = "test";
}

测试成功:添加了textbox,并且Label1内容是"test"
注意上面的红色字体要一致,不要弄错。注意findcontrol的运用,类型转换要正确。

关闭窗口
 访问量:519324
任何第三方若要引用、转摘本站信息,均需征得本站书面同意,否则视为侵权。本站信息为个人观点,若因引用本站信息而产生的任何情况,均与本站无关。Email:linmutou@163.com
闽ICP备14017840号-2