博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LifecycleControl.cs
阅读量:4449 次
发布时间:2019-06-07

本文共 2270 字,大约阅读时间需要 7 分钟。

// Title: Building ASP.NET Server Controls
//
// Chapter: 5 - Event-based Programming
// File: LifecycleControl.cs
// Written by: Dale Michalk and Rob Cameron
//
// Copyright ?2003, Apress L.P.
using System;
using System.Web.UI;
using System.Collections.Specialized;
using System.Diagnostics;
namespace ControlsBookLib.Ch05
{
   [ToolboxData("<{0}:Lifecycle runat=server></{0}:Lifecycle>")]
   public class Lifecycle : Control, IPostBackEventHandler, IPostBackDataHandler
   {
      // Init Event
      override protected void OnInit(System.EventArgs e)
      {         
         Trace("Lifecycle: Init Event.");
         base.OnInit(e);
      }
      override protected void TrackViewState()
      {         
         Trace("Lifecycle: Track ViewState.");
         base.TrackViewState();
      }
      // Load ViewState Event
      override protected void LoadViewState(object savedState)
      {         
         Trace("Lifecycle: Load ViewState Event.");
         base.LoadViewState(savedState);
      }
      // Load Postback Data Event
      public bool LoadPostData(string postDataKey,
         NameValueCollection postCollection)
      {
         Trace("Lifecycle: Load PostBack Data Event.");
         Page.RegisterRequiresRaiseEvent(this);
         return true;
      }
      // Load Event
      override protected void OnLoad(System.EventArgs e)
      {         
         Trace("Lifecycle: Load Event.");
         base.OnLoad(e);
      }
      // Post Data Changed Event
      public void RaisePostDataChangedEvent()
      {
         Trace("Lifecycle: Post Data Changed Event.");
      }
      // Postback Event
      public void RaisePostBackEvent(string argument)
      {
         Trace("Lifecycle: PostBack Event.");
      }
      // PreRender Event
      override protected void OnPreRender(System.EventArgs e)
      {         
         Trace("Lifecycle: PreRender Event.");
         Page.RegisterRequiresPostBack(this);
         base.OnPreRender(e);
      }
      // Save ViewState
      override protected object SaveViewState()
      {
         Trace("Lifecycle: Save ViewState.");
         return base.SaveViewState();
      }
      // Render Event
      override protected void Render(HtmlTextWriter writer)
      {   
         base.Render(writer);
         Trace("Lifecycle: Render Event.");
         writer.Write("<h3>LifeCycle Control</h3>");
         
      }
      // Unload Event
      override protected void OnUnload(System.EventArgs e)
      {         
         Trace("Lifecycle: Unload Event.");
         base.OnUnload(e);
      }
      // Dispose Event
      public override void Dispose()
      {         
         Trace("Lifecycle: Dispose Event.");
         base.Dispose();
      }
      private void Trace(string info)
      {
         Context.Trace.Warn(info);
         Debug.WriteLine(info);
      }
   }
}

转载于:https://www.cnblogs.com/shihao/archive/2012/05/14/2498721.html

你可能感兴趣的文章
c# 应用事务
查看>>
优化杭州某著名电子商务网站高并发千万级大型数据库经验之- SQL语句优化(转)...
查看>>
DtCms.Model.Article.cs
查看>>
WPF——TargetNullValue(如何在绑定空值显示默认字符)
查看>>
Linux之crontab
查看>>
清除浮动
查看>>
JAVA优化建议
查看>>
Docker --- 安装MySQL
查看>>
CenOS+宝塔(模拟)上线博客项目
查看>>
Linux改变语言设置的命令
查看>>
loadrunner Vugen-Tools General-Options-Replay设置
查看>>
redis限频
查看>>
Floyd判圈算法
查看>>
接口,lambda表达式与内部类(二)
查看>>
Phabricator是什么,代码审查工具
查看>>
Java虚拟机类加载机制
查看>>
POJ 1488
查看>>
CentOS7 安装 Eclipse
查看>>
接收量太大的猜想
查看>>
UITextView,UIWebView 直接显示html代码
查看>>