• 用户控件包装器


       从开发webpart的过程,我们也可以看出,假若想开发功能比较复杂的webpart,也就是表现样式比较丰富的webpart,用我们上面的办法是行不通的。于是,我们就要想想有没有别的办法了。其实,我们仔细考虑下wss3webpart从哪个类继承就知道该怎么作了。由于,无论是wss3还是asp.net2中的webpart都是从

    System.Web.UI.WebControls.WebParts.WebPart继承的,而webpart又是从

    System.Web.UI.Control继承的。于是,我们就可以考虑用Page.LoadControl(filepath)方法载入用户控件了。而此种方法实现的webpart就叫用户控件包装器。包装器的实现与用户自定义控件的开发原理也就一样了。也就是要重写CreateChildControls ()方法和Render (HtmlTextWriter writer)方法。我们可以在CreateChildControls ()方法中动手脚,也就是在这个控件里载入我们的自定义控件就行了。
          
    用户控件包装器,现在常用的是quickstart,对其详细使用介绍大家可以参考下面这篇文章http://www.cnblogs.com/cxd4321/archive/2007/08/28/873326.html

    包装器实现例子如下:

    using System;

    using System.Runtime.InteropServices;

    using System.Web.UI;

    using System.Web.UI.WebControls.WebParts;

    using System.Xml.Serialization;

     

    using Microsoft.SharePoint;

    using Microsoft.SharePoint.WebControls;

    using Microsoft.SharePoint.WebPartPages;

     

    namespace WPLoadUserControl

    {  

    public class WPLoadUserControl

     : System.Web.UI.WebControls.WebParts.WebPart

        {

            protected Control userControl;

            public WPLoadUserControl()

            {

                this.ExportMode = WebPartExportMode.All;

            }

     

            protected override void CreateChildControls()

            {

                //base.CreateChildControls();

     

                this.Controls.Clear();

                string userControlPath = @"/Skins/TestControl.ascx";

                this.userControl = this.Page.LoadControl(userControlPath);

                this.Controls.Add(this.userControl);

     

            }

            protected override void Render(HtmlTextWriter writer)

            {

                base.Render(writer);

            }

     

        }

    }

  • 相关阅读:
    保留最大的数
    彩色宝石项链
    [leetcode] 403. Frog Jump
    [leetcode] 402. Remove K Digits
    Linux 更改时区、时间
    Linux系统时间同步方法
    mysql 5.7.28 地理位置计算详解
    springboot微服务项目集成为单体
    地理空间数据Geometry在MySQL中使用(一)
    mysql中geometry类型的简单使用
  • 原文地址:https://www.cnblogs.com/cxd4321/p/877769.html
Copyright © 2020-2023  润新知