怎么在子页给MasterPage的ContentPlaceHolder中的PlaceHolder中动态添加控件?
我想在子页里根据传的值来动态加载控件到MasterPage的ContentPlaceHolder中的PlaceHolder中。
应用类似于网上找的下面的方法,结果还是不行,好像访问不到PlaceHolder,提示
未将对象引用设置到对象的实例。
<asp:Label ID= "Title " RunAt= "server " />
.
.
.
<script language= "C# " runat= "server ">
public string TitleText
{
get { return Title.Text; }
set { Title.Text = value; }
}
</script>
content page加入如下声明
<%@ MasterType VirtualPath= "~/Tree.master " %>
这样Asp.net编译器会为我们生成一个强类型的Master属性(在页面文件的CS文件的类中).
这样,我们就可以直接通过Master.Info来操作MasterPage上的东西.
调用如下
Master.TitleText = "Orders ";
------解决方案-------------------- <%@ Page Language= "C# " MasterPageFile= "~/Tree.master " ...%>
<%@ MasterType VirtualPath= "~/Tree.master " %>
------解决方案--------------------ContentPlaceHolde a = (ContentPlaceHolde)Master.FindControl( "ContentPlaceHolder1 ");
------解决方案--------------------PlaceHolder p1 = (PlaceHolder)Master.FindControl( "ContentPlaceHolder1 ").FindControl( "PlaceHolder1 ");
p1.Controls.Add(new TextBox());
------解决方案--------------------加placeholder也可以,但没有必要.