zoukankan      html  css  js  c++  java
  • 扩展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

  • 相关阅读:
    Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
    python基础day05
    靠谱的Pycharm安装详细教程
    15.Spring-Boot中使用AOP统一处理web层异常
    16.Spring-Boot中的定时任务
    17.Spring-Boot中HTTPS配置
    18.Spring-Boot devtools项目自动重启
    纯Java配置SpringMvc整合Spring-Data-JPA
    19.Spring-Boot多数据源配置
    1.初识Spring-Cloud
  • 原文地址:https://www.cnblogs.com/zygoses2gether/p/5062794.html
Copyright © 2011-2022 走看看