Asp.net 2.0 在contentPage中访问MasterPage

本文提供了一个示例,演示如何在ContentPage中声明并访问MasterPage的公共属性、方法及控件。通过在ContentPage中添加对MasterPage的引用,开发者可以在内容页面中直接调用MasterPage的公开成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果用到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;
    }

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值