获取母版页的相关内容有两种方法 --全了
2015-04-03 16:51
375 查看
获取母版页的相关内容有两种方法
1 通过findcontrol找控件ID
需要在此事件中~因为Page_load中时是先内容页加载然后才是母版页加载
protected void Page_LoadComplete(object sender, EventArgs e)
{
Label2.Text = "现在时间是" + (Master.FindControl("Label1") as Label).Text;
if (Request.QueryString["id"] == "dy")
{
(Master.FindControl("Image1") as Image).ImageUrl = "~/Images/ml0069.jpg";
}
}
2 通过强引用
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" CodeFile="Default2.aspx.cs" Inherits="Default2" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPage.master" %>
然后可以在母版页中定义公共属性或方法
public string GetUserName()
{
return Page.User.Identity.Name;
}
在内容页中调用
Label1.Text = "欢迎光临" + Master.GetUserName();
一、使用FindControl方法获取母版页控件的引用
利用内容页page对象的Master公共属性,我们可以实现对关联母版页的引用。进而使用母版页的FindControl方法来实现对母版页控件的访问。
母版页MasterPage.master:
< %@ Master Language="C#" CodeFile="MasterPage1.master.cs" Inherits="MasterPage1" %>
< !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>母版页< /title>
< /head>
< body>
< form id="form1" runat="server">
< asp:Label runat="server" ID="masterlabel">母版页的内容< /asp:Label>
< div>
< asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
< /asp:contentplaceholder>
< /div>
< /form>
< /body>
< /html>
内容页Content1.aspx:
< %@ Page Language="C#" MasterPageFile="~/MasterPage1.master" CodeFile="content1.aspx.cs" Inherits="content1" Title="Untitled Page" %>
< script runat="server">
void Page_LoadComplete(Object sender, EventArgs e)
{
contentlabel.Text = (Master.FindControl("masterlabel") as Label).Text;
}
< /script>
< asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
< asp:Label ID="contentlabel" runat="server">这里将显示母版页masterlabel控件的内容。< /asp:Label>
< /asp:Content>
其中,“Page_LoadComplete”是内容页面加载完成时触发的一个事件。
运行结果:
二、使用MasterType指令获取母版页控件的引用
相对于上面的FindControl方法而言,MasterType显得很直接。通过使用MasterType,可以创建与母版页的强类型引用。
将FindControl方法例子中的MasterPage.master更改如下:
< %@ Master Language="C#" CodeFile="MasterPage1.master.cs" Inherits="MasterPage1" %>
< script runat="server">
public Label MasterPageLabel//注意:将母版页label控件强类型化,方便内容页访问。对母版页属性的访问也使用该方法。
{
get#p#分页标题#e#
{
return masterlabel;
}
set
{
masterlabel = value;
}
}
< /script>
< !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>母版页< /title>
< /head>
< body>
< form id="form1" runat="server">
< asp:Label runat="server" ID="masterlabel">母版页的内容< /asp:Label>
< div>
< asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
< /asp:contentplaceholder>
< /div>
< /form>
< /body>
< /html>
将FindControl方法例子中的Content1.aspx更改如下:
< %@ Page Language="C#" MasterPageFile="~/MasterPage1.master" CodeFile="content1.aspx.cs" Inherits="content1" Title="Untitled Page" %>
< %@ MasterType VirtualPath="~/MasterPage1.master" %>
< script runat="server">
new void Page_Load(Object sender, EventArgs e)
{
contentlabel.Text = Master.MasterPageLabel.Text;
}
< /script>
< asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
< asp:Label ID="contentlabel" runat="server">这里将显示母版页masterlabel控件的内容。< /asp:Label>
< /asp:Content>
1 通过findcontrol找控件ID
需要在此事件中~因为Page_load中时是先内容页加载然后才是母版页加载
protected void Page_LoadComplete(object sender, EventArgs e)
{
Label2.Text = "现在时间是" + (Master.FindControl("Label1") as Label).Text;
if (Request.QueryString["id"] == "dy")
{
(Master.FindControl("Image1") as Image).ImageUrl = "~/Images/ml0069.jpg";
}
}
2 通过强引用
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" CodeFile="Default2.aspx.cs" Inherits="Default2" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/MasterPage.master" %>
然后可以在母版页中定义公共属性或方法
public string GetUserName()
{
return Page.User.Identity.Name;
}
在内容页中调用
Label1.Text = "欢迎光临" + Master.GetUserName();
一、使用FindControl方法获取母版页控件的引用
利用内容页page对象的Master公共属性,我们可以实现对关联母版页的引用。进而使用母版页的FindControl方法来实现对母版页控件的访问。
母版页MasterPage.master:
< %@ Master Language="C#" CodeFile="MasterPage1.master.cs" Inherits="MasterPage1" %>
< !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>母版页< /title>
< /head>
< body>
< form id="form1" runat="server">
< asp:Label runat="server" ID="masterlabel">母版页的内容< /asp:Label>
< div>
< asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
< /asp:contentplaceholder>
< /div>
< /form>
< /body>
< /html>
内容页Content1.aspx:
< %@ Page Language="C#" MasterPageFile="~/MasterPage1.master" CodeFile="content1.aspx.cs" Inherits="content1" Title="Untitled Page" %>
< script runat="server">
void Page_LoadComplete(Object sender, EventArgs e)
{
contentlabel.Text = (Master.FindControl("masterlabel") as Label).Text;
}
< /script>
< asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
< asp:Label ID="contentlabel" runat="server">这里将显示母版页masterlabel控件的内容。< /asp:Label>
< /asp:Content>
其中,“Page_LoadComplete”是内容页面加载完成时触发的一个事件。
运行结果:
二、使用MasterType指令获取母版页控件的引用
相对于上面的FindControl方法而言,MasterType显得很直接。通过使用MasterType,可以创建与母版页的强类型引用。
将FindControl方法例子中的MasterPage.master更改如下:
< %@ Master Language="C#" CodeFile="MasterPage1.master.cs" Inherits="MasterPage1" %>
< script runat="server">
public Label MasterPageLabel//注意:将母版页label控件强类型化,方便内容页访问。对母版页属性的访问也使用该方法。
{
get#p#分页标题#e#
{
return masterlabel;
}
set
{
masterlabel = value;
}
}
< /script>
< !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>母版页< /title>
< /head>
< body>
< form id="form1" runat="server">
< asp:Label runat="server" ID="masterlabel">母版页的内容< /asp:Label>
< div>
< asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
< /asp:contentplaceholder>
< /div>
< /form>
< /body>
< /html>
将FindControl方法例子中的Content1.aspx更改如下:
< %@ Page Language="C#" MasterPageFile="~/MasterPage1.master" CodeFile="content1.aspx.cs" Inherits="content1" Title="Untitled Page" %>
< %@ MasterType VirtualPath="~/MasterPage1.master" %>
< script runat="server">
new void Page_Load(Object sender, EventArgs e)
{
contentlabel.Text = Master.MasterPageLabel.Text;
}
< /script>
< asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
< asp:Label ID="contentlabel" runat="server">这里将显示母版页masterlabel控件的内容。< /asp:Label>
< /asp:Content>
相关文章推荐
- 获取母版页的相关内容有两种方法
- php获取https协议内容的两种方法
- jQuery 获取、设置HTML或TEXT内容的两种方法
- java获取http请求页面的内容的两种方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- Android平台上捕获Back键的事件,Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台,而回到桌面的尴尬情况,在Android上有两种方法来获取该按钮的事件
- ###request获取请求路径内容的相关方法总结。例如:request.getContextPath()。。。
- Java 获取*.properties配置文件中的内容 ,常见的两种方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- 两个JSP页面父页面获取子页面内容的两种方法
- 获取iframe中的内容、查找获取指定元素(关于用c++调用WEBBROWSER控件,使用相关接口操作web页面元素的一些方法)
- 忆龙2009:介绍两种获取网页内容的方法
- 针对不同浏览器获取到css文件里相关属性的两种方法
- WordPress 获取某一页面的内容和相关参数的方法
- jQuery 获取、设置HTML或TEXT内容的两种方法
- php 两种方法获取url内容 file_get_contents和curl
- Java代码中获取配置文件(config.properties)中内容的两种方法
- 两个JSP页面父页面获取子页面内容的两种方法
- jQuery 获取、设置HTML或TEXT内容的两种方法
- QTP中,两种获取剪贴板内容的方法