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

  • 相关阅读:
    java 异常捕获机制
    读取java当前路径的文件输出在控制台
    java 简易记事本 程序
    java 利用文件输入输出流实现文件复制
    IutputStreamWriterDemo
    OutputStreamWriterDemo
    Longest Substring Without Repeat Characters
    Add Two Numbers
    Two Sum
    使用 Canvas 绘图
  • 原文地址:https://www.cnblogs.com/zygoses2gether/p/5062794.html
Copyright © 2011-2022 走看看