日期:2014-05-20  浏览次数:20568 次

怎么在子页给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也可以,但没有必要.