Asp.net 2.0 在contentPage中访问MasterPage

http://blog.csdn.net/justlovepro/archive/2008/06/10/2531255.aspx

 

如果用到MastePage.有时候,我们需要在开发过程中在ContentPage访问masterpage中的属性,方法或者控件的信息。这个Demo说明了如何来实现这样的作业>
  其实很简单,关键的一步是要在contentpage中“声明”对masterpage的"引用":

<% @ Page Language = " C# "  MasterPageFile = " ~/MasterPage.master "  AutoEventWireup = " true "  CodeFile = " contentpage1.aspx.cs "  Inherits = " contentpage1 "    %>
<% @ MasterType VirtualPath  = " ~/MasterPage.master "    %>    <% -- 在这里声明 -- %>
< asp:Content  ID ="Content1"  ContentPlaceHolderID ="ContentPlaceHolder1"  Runat ="Server" >
</ asp:Content >


然后,在contentpage中就可以访问masterpage public的属性和方法,以及其控件.
masterpage HTML:

<% @ Master Language = " C# "  AutoEventWireup = " true "  CodeFile = " MasterPage.master.cs "  Inherits = " MasterPage "   %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > My MasterPage Title </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
     
< div >
         
< asp:Label  ID ="lblheader"  runat ="server"  Text ="Label" ></ asp:Label >
         
< br  />
         
< asp:TextBox  ID ="txt"  runat ="server" ></ asp:TextBox >
     
</ div >
    
< div >
        
< asp:contentplaceholder  id ="ContentPlaceHolder1"  runat ="server" >
        
</ asp:contentplaceholder >
    
</ div >
    
</ form >
</ body >
</ html >

masterpage CS:

public   partial   class  MasterPage : System.Web.UI.MasterPage
{
    
private   string  title;

    
public   string  Title
    
{
        
get   return  title; }
        
set   { title  =  value; }
    }


    
protected   void  Page_Load( object  sender, EventArgs e)
    
{
        
this .lblheader.Text  =  title;
    }

    
public   void  GetTitle()
    
{
        txt.Text 
=   " i will go " ;
    }

}

在masterpage中定义了一个属性,一个方法。
contentpage:

     protected   void  Page_Load( object  sender, EventArgs e)
    
{
       Page.Header.Title 
=   " masterpage title here " ;

       Master.Title 
=   " Access To masterPage's property " ;

       Master.GetTitle();

      TextBox txt
=  Master.FindControl( " txt " as  TextBox;
      txt.BackColor 
=  System.Drawing.Color.Red;
    }

可以看到,无论是属性,方法,控件都是可以访问的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值