• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net对母版页的控件事件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
1、在内容页上 访问母版页上的控件

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

    protected void Page_Load(object sender, EventArgs e)     {         if (!IsPostBack)             ((Label)Master.FindControl("Label1")).Text = "标题被修改了!";     }

2、在内容页访问母版页上 自定义控件

假如要访问的控件是用户控件,这样写

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

多半会编译出错,说缺乏MyCtrl的定义。原因是该控件在母版页上声明:

<%@ Register Src="myCtrl.ascx" TagName="myCtrl" TagPrefix="uc1" %>

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

3、在内容 页上 调用母版页上的控件事件

只需在内容页上采用FindControl找到该控件然后在添加事件委托及可,但需要 注意的是母版页 和 内容页 的事件加载顺序 ,如果在内容页和 母版页都有同样的事件,则要考虑该哪里添加好事件了。

添加方式 如:

在内容页添加

protected void Page_Load(object sender, EventArgs e)

{

Button B1 = (Button)Page.Master.FindControl("Button1");

B1.Click += new EventHandler(B1_Click);

} protected void Button1_Click(object sender, EventArgs e)

{

        this.Response.Write("<script   language='javascript'>alert('completed!');</script>");

}

下面是母版页与内容页合并后事件的发生顺序:

  1. 母版页控件 Init 事件。

  2. 内容控件 Init 事件。

  3. 母版页 Init 事件。

  4. 内容页 Init 事件。

  5. 内容页 Load 事件。

  6. 母版页 Load 事件。

  7. 内容控件 Load 事件。

  8. 内容页 PreRender 事件。

  9. 母版页 PreRender 事件。

  10. 母版页控件 PreRender 事件。

  11. 内容控件 PreRender 事件。

4、在内容页访问母版页上的属性 要访问母版页上的属性必须先在内容页上添加对母版页的引用如:<%@ MasterType virtualpath="~/PageTemplate/PageMaster.master" %> 这样就可以在内容页上直接引用母版页的属性了

    鲜花

    握手

    雷人

    路过

    鸡蛋
    该文章已有0人参与评论

    请发表评论

    全部评论

    专题导读
    热门推荐
    热门话题
    阅读排行榜

    扫描微信二维码

    查看手机版网站

    随时了解更新最新资讯

    139-2527-9053

    在线客服(服务时间 9:00~18:00)

    在线QQ客服
    地址:深圳市南山区西丽大学城创智工业园
    电邮:jeky_zhao#qq.com
    移动电话:139-2527-9053

    Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap