动态装载

1: 基类 SkinnedForumWebControl : WebControl, InamingContainer

1)     默认构造函数

   public SkinnedForumWebControl() {

   // Attempt to get the current user

      user = Users.GetLoggedOnUser();

   // Is the user not availabe - must be anonymous

      if (user == null)

         Users.TrackAnonymousUsers();

   // Set the siteStyle for the page

      if (user != null)

         skinName = user.Skin;

      else

         skinName = Globals.Skin;

   // If we have an instance of context, let's attempt to

   // get the ForumID so we can save the user from writing

   // the code

      if (null != Context) {

         GetPostIDFromRequest();

         GetForumIDFromRequest();

         GetForumGroupIDFromRequest();

         GetReturnURLFromRequest();

       }           

   }

2)     4个自定义的方法

   // Retrieves the PostID,ForumID,ForumGroupID, ReturnUrl from the request querystring/post.

       private void GetPostIDFromRequest()

      private void GetForumIDFromRequest()

       private void ForumGroupID ()

       private void GetReturnURLFromRequest ()

3)      重写方法

     protected override void CreateChildControls() {

        Control skin;

     // Load the skin(.ascx) as an object instance

        skin = LoadSkin();

     // to be overrided , Initialize the control template and populate the control with values          

InitializeSkin(skin);

        Controls.Add(skin);

     }

  4) 属性访问器

2: 继承的类

1)      属性

   // Assign a default template name

      string skinFilename = "Skin-Login.ascx";

   // controls in (.ascx) template

        TextBox username;

        TextBox password;

        Button loginButton;

        CheckBox autoLogin;

2)     构造函数

   public Login() : base() {

   // Assign a default template name

      if (SkinFilename == null)

      SkinFilename = skinFilename;

   }

3)     重写2个基类方法

     protected override void CreateChildControls() {

     // If the user is already authenticated we have no work to do

        if (Page.Request.IsAuthenticated)

        return;

        base.CreateChildControls();

     }

     override protected void InitializeSkin(Control skin) {

     // Find the login button

        loginButton = (Button) skin.FindControl("loginButton");

        loginButton.Click += new System.EventHandler(LoginButton_Click);

     // add more ……

     }

4)     自定义控件方法

     public void LoginButton_Click(Object sender, EventArgs e)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值