在内容页中调用母版页控件 
在内容页中有个属性Master,可以通过它访问母版页。如我们要修改母版页上的标题,我们看到显示标题的那个Label的ID为Label1,在Page_Load事件中增加以下代码: 

protected void Page_Load(object sender, EventArgs e) 



if (!IsPostBack) 

((Label)Master.FindControl("Label1")).Text = "标题被修改了!"; 



运行看一下标题是否被修改。 

2、是服务器控件或者凡是runat=server的控件,其ClientID在页面输出后,都跟在设计时不一样了。例如有个 

<input type="text" %> 

一般情况下在内容页就不用再声明了。但如果要访问它就不同,也要在内容页的头部加上这一句。并没有重复声明的麻烦。 

4、要支持在母版页上的控件事件怎么办? 

比如说,我要在内容页支持我自己写的用户控件MyCtrl(在母版页)的OnClick事件该怎么办?总不能将代码写在母版页吧? 

别忘了,事件本质是委托,我们只要在内容页添加对该事件的委托就行了。 

以前1.1的时候,代码页面有Page_Init事件的代码,可2.0就不知道跑哪去了。幸而自己加上去也有效: 

protected void Page_Init(object sender, EventArgs e) 



MyCtrl myctrl = (MyCtrl)Page.Master.FindControl(“MyCtrl1”); 

if (myctrl != null) 



myCtrl.Click += new MyCtrl.ClickEventHandler(MyCtrl1_Click); 



}

相关文章: