• 扩展SharePoint链接字段


    默认SharePoint中的链接字段有很多限制,例如

    输入文字的时候只能录入255个字符

    链接显示的是文字

    点击链接后只能在当前页面打开链接

    … … … … … … …… … … … … … …

     

    不过,我们不是可以自己动手不是,看看下面的效果

     

     

    具体的代码可以在GitHub这里下载,也可以到百度云的这里下载,下面将其中主要的实现点说道说道

     

    结构说明

    1. CONTROLTEMPLATES:映射到SharePointC:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATECONTROLTEMPLATES目录

      ImageHyperlinkFieldControl.ascx:自定义列中控件定义描述

    2. XML:映射到SharePointC:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATEXML目录

      fldtypes_ImageHyperlinkField.xml:自定义列的显示描述

    3. XSL:映射到C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATELAYOUTSXSL目录

      fldtypes_ImageHyperlinkField.xsl:自定义列在列表中的显示效果描述

    4. ImageHyperlink.Field.cs:自定义列代码控制,其中GetValidatedString方法用来获取保存到SharePoint中数据的内容
    5. ImageHyperlink.FieldControl.cs:自定义列内容代码控制,其中OnLoad方法用以控制在显示和编辑自定义列时候的行为
    6. ImageHyperlinkValidationRule.cs:(预留扩展)用以添加额外的校验控制逻辑

     

    代码说明

    如何将很长的链接字符"存入"SharePoint?

    参看ImageHyperlink.Field.cs和ImageHyperlink.Field.cs两个文件

    两方面:存储的时候将字符串简化;显示的时候又将简化的字符串还原。

    简化和还原无非是在外部新建一个数据库的存储表,用以记录长和短字符串的对应关系(当前代码中没有实现);

    不过,有一个方法(MakeTinyUrl)也可以参考,使用的是tinyurl.com网站提供的服务,可以将长链接发送给网站,网站返回一个短链接。

     

    如何显示图片及新开一个页面?

    参看fldtypes_ImageHyperlinkField.xsl文件

    这个更加简单,就在XSL文件中修改以下两处即可

    <a href="{$url}" target="_blank">

    <img src="{$desc}" style="border:none"/>

     

    打完收工!

     

    Andy Yang

    2015.12.21

  • 相关阅读:
    将自己数据转化为cifar10支持的lmdb
    python实现cifar10数据集的可视化
    Python OS 文件/目录方法
    象棋AI算法(二)
    象棋AI算法(一)
    围棋人机大战中阿尔法狗原理解析,左右互搏,青出于蓝而胜于蓝?
    电脑开机停留在主板设置界面,进不了系统
    哪一种编程语言适合人工智能?
    BIOS设置图解教程-看完就没有不明白的了
    关于AndroidStudio的打包数字签名以及多渠道发布
  • 原文地址:https://www.cnblogs.com/zygoses2gether/p/5062794.html
Copyright © 2020-2023  润新知