遗忘海岸

江湖程序员 -Feiph(LM战士)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

Asp.net用户控件(UserControl)的一些设计说明

 

  用户控件有时候会包含多个服务器控件,这个时候需要将用户控件的属性暴露出来,供调用窗体使用,

一般情况是直接将用户子控件暴露给出来,

 

Usercontrol无论是否通过动态加载,UserControl的Page_Load多后于Page的Page_Load事件执行。

参考代码(页面-.aspx Paag_Load代码):

    protected void Page_Load(object sender, EventArgs e)
    {

       // Trace.Warn("窗体Paag_Load");
        membership = LoadControl("../Controls/MembershipEdit.ascx") as Admin_Controls_MembershipEdit;
        membership.ID = "MEUI"; //membership 控件的Page_Load会在Page_Load完成后触发
        phMembershipEdit.Controls.Add(membership);
        if (!IsPostBack)
        {
            InitView();
            Action();
        }
    }

 

参考:

http://www.cnblogs.com/BoKeRen/archive/2008/01/30/1058844.html

http://msdn.microsoft.com/zh-cn/library/ms178472(v=VS.80).aspx

除了Init()和Unload()之外的所有事件都是从最外面到最里面被激发的,即先执行Page上的实际再执行Control上的对应事件,针对动态加载控件有个“追赶理论”:

当在页面上的Page_Load加载用户控件时,用户控件的,Init,LoadViewState,LoadPostData等,直到追赶到Page_Load时就停止,而Page_Load事件会在页面的Page_Load结束后才开始执行,就是说追赶到页面的Page_Load后将停止 更多参考:http://www.cnblogs.com/wdfrog/archive/2009/12/11/1621603.html

posted on   遗忘海岸  阅读(479)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示