• WebPart


    WebPartManage:可以做成一个用户控件,里面包括一个DropDownList和一个WebPartManage。用下拉框改变WebPartManage的显示模式。switch (dpType.SelectedValue),设置WebPartManager1.DisplayMode = WebPartManager.EditDisplayMode;(还有DesignDisplayMode, CatalogDisplayMode, BrowseDisplayMode)。注:switch中的default为可选(C#编程规范中表示最好加上,做为异常处理)。default也必须加break。

     

    WebPartZone中的“无标题”修改:比如在WebPartZone中加入一个gridview控件,然后在源码中为gridview加入title属性即可(此时.net会提示找不到gridview的title属性)

    CatalogZone:
    拖曳出来的CatalogZone中需要加入PageCatalogPart(显示页面上已经删除的WebPart的列表)。ImportCatalogPart允许从Webpart文件中导入WebPart。

    EditorZone:拖曳出来的EditorZone中需要加入AppearanceEditorPart。选择模式为EditDisplayMode后在WebPartZone的右上角菜单中会出现“编辑”。EditorZone可以加入对应的EditorPart。

    ConnectionZone:允许用户建立WebPartZone间的通讯(面向最终用户而不是开发人员)。
    参考文章http://hi.baidu.com/meiixaohu8/blog/item/269681c85b620c1f7e3e6f2e.html


    WebPart之间的通讯:
    A。WebPartManager调用[ConnectionProvider]方法。
    B。WebPartManager从返回参数中获得接口。
    C。WebPartManager调用[ConnectionConsumer]方法,将接口传递给订阅者。
    D。订阅者使用给定的接口与发布者通讯。

    A。定义ISendParam.cs

    using System;

    /// <summary>
    /// Summary description for ISendParam
    /// </summary>

    public interface ISendParam
    {
        
    string GetParam();
    }

    B。新建两个用户控件,UserCtl1是接连提供者(ConnectionProvider),UserCtl2是连接用户(ConnectionConsumer)。
    UserCtl1(继承ISendparam接口):

    Code
    Code

    UserCtl2:

    Code

    C。在测试页中加入两个WebPartZone,分别装入这两个控件。把WebPartManage1的DisplayMode设为ConnectDisplayMode,测试连接。

    添加自定义的WebPart:

     A。使用自定义控件:新建一个自定义控件,在原基础上再继承IWebPart接口,实现以下接口成员:
     CatalogIconImageUrl:当WebPart关闭后出现在CatalogZone时的图片。
     Description:鼠标悬停Title时的ToolTip。
     Subtitle:WebPart小标题。
     Title:WebPart正标题。
     TitleIconImageUrl:WebPart题标的图标。
     TitleUrl:点击Title时的跳转路径,如http://www.baidu.com或default2.aspx。
    其它操作和一般用户控件一样,完成后拖入WebPartZone中。
     B。使用类文件:
    新建一个类,让它继承WebPart:

    Code

    aspx页:
    <%@ Register TagPrefix="cc1" Namespace="WebPartNameSpace" %>
    <cc1:MyWebPart runat="server" ID="MyWebPartID" Title="MyWebPartTitle" AllowClose="False" />

    WebPart的信息保存:
     使用aspnet_regsql.exe创建保存webpart页面变化信息的数据库(aspnetdb)。
     在aspnetdb数据库中,有两个表是用来保存个性化信息的:aspnet_PersonalizationAllUsers和aspnet_PersonalizationPerUser

    个性化体现:
     A。配置web.config:增加<membership...配置(附连接字符串配置如下)。主要配置有数据提供者,连接字符串,最小密码长度。

    Code

      B。点击“网站”-“ASP.NET配置”(Web.config的可视化配置工具)。进入Security进行用户配置。“选择身份验证类型”设为“通过Internet”(即Forms验证)。然后创建几个用户。
      C。把<asp:Login...控件拖到网页(Default.aspx)中。运行,用不同的用户登录可以看到不同的WebPart表示

    统一页面设置:实际上,有一些网站并不是所有的用户都能自定义用户界面,而是通过站长来设置,对所有用户都起作用
     A。web.config:在webparts结点下加入<authorization...结点的配置。

    <webParts>
       
    <personalization>
          
    <authorization>
            
    <allow users="*" verbs="enterSharedScope"/>
          
    </authorization>
        
    </personalization>
    </webParts>

      B。在网页(Default.aspx)中,为<asp:WebPartManager控件加入属性Personalization-InitialScope="Shared"。
      C。用a用户登录,修改后再用b用户登录。b会看到a的修改。反之亦然,即实现了统一的页面显示

    为WebPart添加Verbs
     即为自定义的WebPart添加右上角的下拉操作。主要是在MyWebPart类中重载Verbs属性

    Code
  • 相关阅读:
    基于Yarp的http内网穿透库HttpMouse
    Redis+Lua解决高并发场景抢购秒杀问题
    SQL慢查询排查思路
    webrtc之TURE、STUN、摄像头打开实战
    WebService就该这么学
    超详细 Java 15 新功能介绍
    Java 14 新功能介绍
    Java 17 将要发布,补一下 Java 13 中的新功能
    Java 8 Function 函数接口
    PO/DO/VO/DTO/BO/POJO概念与区别
  • 原文地址:https://www.cnblogs.com/vipcjob/p/1541387.html
Copyright © 2020-2023  润新知