您的位置:首页 > 编程语言 > ASP

ASP.NET2.0学习8--WebPart部件

2006-08-10 23:37 183 查看
WebPart学习
内容:
       功能简介
       webpart的五个模式
       自定义webpart部件
一、Webpart功能简介
1.  自定义页面内容
2.  自定义页面布局
3.  导入、导出webpart
4.  在不同部件间建立通信
5.  管理和个性化的设置
二、创建Webpart
1.  用现成web控件建立
2.  自定义webpart
继承自WebPart类
重要方法:
public override void RenderControl(HtmlTextWriter writer)
三、WebPart的模式:
                WebPartManager1.DisplayMode=WebPartManager.BrowseDisplayMode;

                WebPartManager1.DisplayMode=WebPartManager.DesignDisplayMode;

                WebPartManager1.DisplayMode = WebPartManager.EditDisplayMode;

                WebPartManager1.DisplayMode = WebPartManager.CatalogDisplayMode;

                WebPartManager1.DisplayMode = WebPartManager.ConnectDisplayMode;

对于后四个模式要使用下面的web.config中的个性化配置才能启用
    <webParts enableExport="true">

      <personalization>

        <authorization>

          <allow users="gong" verbs="enterSharedScope"/>

        </authorization>

      </personalization>

</webParts>
1.       浏览模式:
显示部件,不能作其它操作
2.       设计模式
可以删除,拖放部件
3.       编辑模式
可以删除,拖放部件
修改webpart的相关外观、行为和属性
4.       目录模式
支持导入、导出功能,添加webpart控件
在目录模式中可以导出一个webpart
       1.设置web.config
    <webParts enableExport="true">

      <personalization>

        <authorization>

          <allow users="gong" verbs="enterSharedScope"/>

        </authorization>

      </personalization>

</webParts>

2.设置webpart控件的ExportMode属性为非None
 

5.       连接模式
多个webpart间数据的通信
Webpart连接:
1.  设置两个WebPart间的通讯接口
    public interface ITestWord

    {

        string TestText

        {

            get;

            set;

        }

    }
2.  实现提供者webpart
    public class TempWebpart : WebPart,ITestWord

     

  [Personalizable(true),WebBrowsable(true)]

        public string TestText   //ItestWord接口数据实现

         标记提供者函数

        [ConnectionProvider("TestWordProvider","TestWordProvider")]

        public ITestWord ProvideTest()

        {

            return this;

    }
3.  实现订阅者webpart
    public class TestConsumer : WebPart

         //标记订阅者函数 

      [ConnectionConsumer("TestWordConsumer","TestWordConsumer")]

        public void GetTest(ITestWord testWord)

 

4.  界面设置
静态连接:
        <asp:WebPartManager ID="WebPartManager1" runat="server">

            <StaticConnections>

                <asp:WebPartConnection ID="tt1" ProviderID="temp1" ConsumerID="testconsumer1"

                 ProviderConnectionPointID="TestWordProvider" ConsumerConnectionPointID="TestWordConsumer" />

            </StaticConnections>

        </asp:WebPartManager>

     动态连接:

       在<asp:WebPartManager ID="WebPartManager1" runat="server">

          </asp:WebPartManager>之间没有内容

     下面的设置一样

<asp:WebPartZone ID="WebPartZone3" runat="server">

            <ZoneTemplate>

                <test:tempwebpart id="temp1" runat="server" />

            </ZoneTemplate>

        </asp:WebPartZone>

        <asp:WebPartZone ID="WebPartZone4" runat="server">

            <ZoneTemplate>

                <test:testconsumer ID="testconsumer1" runat="server" />

            </ZoneTemplate>

        </asp:WebPartZone>
 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息