ASP.Net访问母版页(MasterPage)控件、属性、方法及母版
2011-02-16 11:26
986 查看
今天做项目突然遇到一个问题,就是母板页里面有个表格,调用有 A,B,C三个Class
但是在新页面我不想要这个三个Class,经过高人点拨。通过访问母板页属性实现了
这个效果
首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加如下指令
<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>
其中VirtualPath设置母版页URL地址。
母板页定义如下属性:
引用母板页做如下调用:
master.LightBlueBg = "";
如此就成功的将母板页调用的3个Class取消掉。。
总结功能:
总结了一下ASP.Net访问母版页控件、属性、方法及母版页中调用内容页的方法,供大家参考:
首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加如下指令
<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>
其中VirtualPath设置母版页URL地址。
1. 获取母版页控件引用。
示例代码
/// <summary>
/// 获取对母板页中一个TreeView控件的引用
/// </summary>
public TreeView ElementStructureTree
{
get
{
return tvElementStructure;
}
set
{
tvElementStructure = value;
}
}
如上代码所示,在母版页中定义一个公共属性ElementStructureTree,该属引用了母版页中tvElementStructure控件,然后在内容页中就可以通过公共属性Master(核心对象Page的一个属性)来引用母版页中tvElementStructure控件,如下:
TreeView tv = Master.ElementStructureTree;
2. 访问母版页属性。
母版页中的属性一般有三种:值类型、类类型、控件类型,上面的“获取母版页控件引用”实际上就是访问控件类型属性,其它两种类型的属性可以用同样的方法访问。
3. 调用母版页方法。
母版页中定义的公共方法可以通过Master直接调用。
4. 母版页中调用内容页的方法。
母版页中定义委托:
public delegate void ElementSelectedChangeHandler();
母版页中实例化委托(又是一个属性):
public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }
在母版页中需要的地方调用委托:
if (ElementSelectedChange != null)
{
ElementSelectedChange();
}
内容页中指定一个与委托签名匹配的方法:
Master.ElementSelectedChange = this.ElementSelectedChange;
5. Master页的AutoEventWireup属性一定要设置为"true",才会自动触发Master页中控件的所有事件。
今天突然遇到一个问题就是如何获取用户自定义控件里面的子控件的问题!
去谷歌了一下。。嘿嘿找到结果了。。记录下来!
页面代码如下:
Panel Login = (Panel)this.RightCommen1.FindControl("PanelLogin");
Panel PanelHot = (Panel)this.RightCommen1.FindControl("PanelHot");
Panel PanelSchool = (Panel)this.RightCommen1.FindControl("PanelSchool");
Panel PanelTea = (Panel)this.RightCommen1.FindControl("PanelTea");
Panel PanelHuiSuo = (Panel)this.RightCommen1.FindControl("PanelHuiSuo");
Panel PanelEnd = (Panel)this.RightCommen1.FindControl("PanelEnd");
PanelSchool.Visible = true;
PanelHuiSuo.Visible = false;
PanelEnd.Visible = false;
嘿嘿通过FindControl方法解决问题!但是要注意转型的问题!
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/4_webprogram/asp/aso_js/20100714/444320.html
但是在新页面我不想要这个三个Class,经过高人点拨。通过访问母板页属性实现了
这个效果
首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加如下指令
<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>
其中VirtualPath设置母版页URL地址。
母板页定义如下属性:
引用母板页做如下调用:
master.LightBlueBg = "";
如此就成功的将母板页调用的3个Class取消掉。。
总结功能:
总结了一下ASP.Net访问母版页控件、属性、方法及母版页中调用内容页的方法,供大家参考:
首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加如下指令
<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>
其中VirtualPath设置母版页URL地址。
1. 获取母版页控件引用。
示例代码
/// <summary>
/// 获取对母板页中一个TreeView控件的引用
/// </summary>
public TreeView ElementStructureTree
{
get
{
return tvElementStructure;
}
set
{
tvElementStructure = value;
}
}
如上代码所示,在母版页中定义一个公共属性ElementStructureTree,该属引用了母版页中tvElementStructure控件,然后在内容页中就可以通过公共属性Master(核心对象Page的一个属性)来引用母版页中tvElementStructure控件,如下:
TreeView tv = Master.ElementStructureTree;
2. 访问母版页属性。
母版页中的属性一般有三种:值类型、类类型、控件类型,上面的“获取母版页控件引用”实际上就是访问控件类型属性,其它两种类型的属性可以用同样的方法访问。
3. 调用母版页方法。
母版页中定义的公共方法可以通过Master直接调用。
4. 母版页中调用内容页的方法。
母版页中定义委托:
public delegate void ElementSelectedChangeHandler();
母版页中实例化委托(又是一个属性):
public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }
在母版页中需要的地方调用委托:
if (ElementSelectedChange != null)
{
ElementSelectedChange();
}
内容页中指定一个与委托签名匹配的方法:
Master.ElementSelectedChange = this.ElementSelectedChange;
5. Master页的AutoEventWireup属性一定要设置为"true",才会自动触发Master页中控件的所有事件。
今天突然遇到一个问题就是如何获取用户自定义控件里面的子控件的问题!
去谷歌了一下。。嘿嘿找到结果了。。记录下来!
页面代码如下:
Panel Login = (Panel)this.RightCommen1.FindControl("PanelLogin");
Panel PanelHot = (Panel)this.RightCommen1.FindControl("PanelHot");
Panel PanelSchool = (Panel)this.RightCommen1.FindControl("PanelSchool");
Panel PanelTea = (Panel)this.RightCommen1.FindControl("PanelTea");
Panel PanelHuiSuo = (Panel)this.RightCommen1.FindControl("PanelHuiSuo");
Panel PanelEnd = (Panel)this.RightCommen1.FindControl("PanelEnd");
PanelSchool.Visible = true;
PanelHuiSuo.Visible = false;
PanelEnd.Visible = false;
嘿嘿通过FindControl方法解决问题!但是要注意转型的问题!
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/4_webprogram/asp/aso_js/20100714/444320.html
相关文章推荐
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- ASP.Net内容页访问母版页(MasterPage)属性
- asp.net文件上传用到html的file控件,在使用母版页Master,更改form的Enctype=multipart/form-data的方法
- Asp.net 如何取母版页的属性及控件及方法调用
- asp.net访问母版页控件方法
- ASP.NET 4.0 :MasterPage母版页的ClientIDMode属性
- 在ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有母版页的情况下,如果需要在Master-Page和Content-Page中需要引入不同的脚本时,这就需要在Content-page中使用ScriptMa
- asp.net page中用ViewState读取用户控件中的属性
- ASP.NET 2.0 中母版页与内容页的控件之间的访问
- ASP.NET母版页中调用内容页的方法和web用户控件调用.aspx页面里的方法
- asp.net动态编辑母版页(与母版页通信,如修改控件属性等)
- ASP.NET Master Page改变内容页title方法
- 使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
- asp.net报出“非静态字段、方法或属性’System.Web.UI.Page.Response.get‘要求对象引用”错误