zoukankan      html  css  js  c++  java
  • SharePoint开发中如何基于Namespace有效组织多个相关类

    在开发一种自定义字段类型时,会涉及到多个类。如何通过名字空间有效地组织这些类,是一个需要解决的问题。

    下面我们以Microsoft SharePoint中预定义的Lookup字段类型为例,看一下定义一个字段类型所需的类及其组织方式。

    1. Namespace: Microsoft.SharePoint

    2. Namespace: Microsoft.SharePoint.WebPartPages

    • [internal]SPLookupFieldRenderWorker
      LookupField呈现类。

    3. Namespace: Microsoft.SharePoint.WebControls

    • LookupField
      在编辑/浏览页面中呈现出的Lookup字段控件。它继承自Microsoft.SharePoint.WebControls.BaseFieldControl类。
    • MultipleLookupField
      在编辑/浏览页面中呈现出的可多选的Lookup字段控件。它继承自LookupField类。

    4. Namespace: Microsoft.SharePoint.MobileControls

    5. Namespace: Microsoft.SharePoint.Client

    • FieldLookup
      LookupField客户端映射类。它除了LookupField类的属性外还包含“字段属性配置面板(Editor)”中的属性。它继承自Field : Microsoft.SharePoint.Client.ClientObject。
    • FieldLookupPropertyNames
      Lookup字段的“字段属性配置面板”属性类。保留用于内部用途,不建议外部代码使用。
    • FieldLookupValue
      SPFieldLookupValue的客户端映射类。它继承自ClientValueObject类。

    6. Namespace: Microsoft.SharePoint.JSGrid

    • LookupTypeInfo
    • LookupTypeItem

    7. Namespace: Microsoft.SharePoint.Upgrade

    • [internal]AddLookupRelationships
    • [internal]AddLookupRelationshipsFromFields

    注:以上内容有猜测成分,如有错误,望指正。谢谢!)

    假设我们要开发一个名为CrossSiteLookup的自定义字段类型,根据以上分析,可按如下名字空间定义类:

    1. MyCompany.SharePoint

    • SPFieldCrossSiteLookup
      继承自:Microsoft.SharePoint.SPFieldLookup

    2. MyCompany.SharePoint.WebControls

    • CrossSiteLookupField
      继承自:Microsoft.SharePoint.WebControls.BaseFieldControl。
    • MultipleCrossSiteLookupField
      继承自:CrossSiteLookupField。
    • CrossSiteLookupFieldEditor(“字段属性配置面板”控件类)
      实现了:Microsoft.SharePoint.WebControls.IFieldEditor
  • 相关阅读:
    一些常看的网站 工具
    JavaScript 学习
    我的周记15——“5年后,你想成为怎样的人”
    一点分享:从日课到晨记
    跟着高淇学Python——第一到第三章总结
    在新的电脑上的Git本地库 与远程库关联前的一些设置
    搭建环境
    查询XML树
    Linq to XML的基本操作
    LINQ to XML概述
  • 原文地址:https://www.cnblogs.com/jancco/p/2489080.html
Copyright © 2011-2022 走看看