如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例)

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例)

前提

项目中用到eWebEditor作为在线编辑器替换sharepoint2010自动的多行编辑器,下面以eWebEditor作为自定义字段类型为例来讲述如何用VS2010在sharepoint中创建自定义字段类型。

开发

1、 首先用VS2010创建一个空的sharepoint2010项目,如下图:

指向sharepoint站点,部署为场解决方案,如下图:

2、 在解决方案上添加“映射文件”,指向TEMPLATE\ControlTemplates ,如下图:

选中ControlTemplates 添加”用户控件”,如下图:

添加后需要删除EGEWebEditorCtl.ascx.cs,如下图:

在ascx添加如下代码:

<%@ Control Language="C#"%>

<%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

<%@ Register TagPrefix="SharePoint" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebControls" %>

<%@ Register Assembly="eWebEditorControl" Namespace="eWebEditorControl" TagPrefix="eWebEditorControl" %>

<SharePoint:RenderingTemplate ID="EGEWebEditorCtrl_RenderingTemplate" runat="server">

<Template>

<eWebEditorControl:eWebEditor ID="EWebEditor1" runat="server" BasePath="eWebEditor/">

</eWebEditorControl:eWebEditor>

</Template>

</SharePoint:RenderingTemplate>

3、 添加映射的XML文件夹和文件,如下图

添加如下XML文件

4、 继承SPFieldMultiLineText,如下图

代码部分:

namespace TCL.EP.ExtendField

{

public class EGEWebEditorFieldType:SPFieldMultiLineText

{

#region//构造

public EGEWebEditorFieldType(SPFieldCollection fields, string fieldName)

: base(fields, fieldName)

{

}

public EGEWebEditorFieldType(SPFieldCollection fields, string typeName, string displayName)

: base(fields, typeName, displayName)

{

}

#endregion

#region//构造控件

/// <summary>

/// 构造控件

/// </summary>

public override BaseFieldControl FieldRenderingControl

{

[SharePointPermission(SecurityAction.LinkDemand, ObjectModel = true)]

get

{

BaseFieldControl fieldControl = new EGEWebEditorFieldTypeControl();

fieldControl.FieldName = this.InternalName;

return fieldControl;

}

}

#endregion

}

}

5、 继承BaseFieldControl,如下图:

代码部分:

namespace TCL.EP.ExtendField

{

public class EGEWebEditorFieldType:SPFieldMultiLineText

{

#region//构造

public EGEWebEditorFieldType(SPFieldCollection fields, string fieldName)

: base(fields, fieldName)

{

}

public EGEWebEditorFieldType(SPFieldCollection fields, string typeName, string displayName)

: base(fields, typeName, displayName)

{

}

#endregion

#region//构造控件

/// <summary>

/// 构造控件

/// </summary>

public override BaseFieldControl FieldRenderingControl

{

[SharePointPermission(SecurityAction.LinkDemand, ObjectModel = true)]

get

{

BaseFieldControl fieldControl = new EGEWebEditorFieldTypeControl();

fieldControl.FieldName = this.InternalName;

return fieldControl;

}

}

#endregion

}

}

注意事项:

1、 eWebEditor的DLL必须拷贝到对应站点下的bin下。提示无法找到对应的依赖项,否则不起作用。如下错误:

2、 其他相关的js和CSS也必须拷贝到对应站点下,如果发布到_layouts下或Templates下提示无法找到:404 NOT Found.

3、 必须购买正版,正版的支持word,excel,wps文档导入,图片自动上传,格式基本不变。如下图:

4、 自定类型效果图

时间: 2024-11-08 22:34:10

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例)的相关文章

SharePoint中开发自定义Timer Job

 SharePoint中开发自定义Timer Job 1. Timer Job简介 在SharePoint中有一个服务SharePoint timer service(owstimer.exe),这个服务用来进行异步处理一些SharePoint的数据,创建web application等等,为了缓解站点w3wp.exe的压力,而且Timer 服务可以说是占据了SharePoint的半边天,没有他那么SharePoint将不能正常工作 2. Timer Job 作用 很多时候我们需要定期自动去处理

sharepoint 2010 创建自定义的ASP.NET Web Service (上)

项目背景 根据客户需求在SharePoint 2010 中创建自定义的ASP.NET Web Service可以分为3种方式(我所知道的).废话少说,下面一一列举: 创建方式 MSDN 官方博客自己的一个创建ASP.NET Web Service.http://msdn.microsoft.com/zh-cn/library/ms464040(v=office.14).aspx 但是它不推荐这种方式. 通过创建类库项目,使类库项目包装webservice. MSDN推荐使用的方式,通过WCF创建

【翻译】在Ext JS和Sencha Touch中创建自定义布局

原文:Creating Custom Layouts in Ext JS and Sencha Touch 布局系统是Sencha框架中最强大和最独特的一部分.布局会处理应用程序中每个组件的大小和位置,因而,不需要手动去管理那些碎片.Ext JS与Sencha Touch的布局类有许多相似之处,最近在 Ivan Jouikov的这篇博文中对他们进行了详细的分析. 虽然是这样,但很多Ext JS和Sencha Touch开发人员可能永远都不会去了解布局系统的机制原理.Sencha框架已经提供了最常

Eclipse RCP 中创建自定义首选项,并能读取首选项中的值

Eclipse RCP的插件中若想自己定义首选项需要扩展扩展点: org.eclipse.core.runtime.preferences //该扩展点用于初始化首选项中的值 org.eclipse.ui.preferencePages//该扩展点用于定义自己的首选项页面 plugin.xml中内容如: Database Preferences挂在WorkFlowBase下,需要在category中填写workFlowBase的ID WorkFlowPreferenceInitializer类,

在Oracle电子商务套件版本12.2中创建自定义应用程序(文档ID 1577707.1)

在本文档中 本笔记介绍了在Oracle电子商务套件版本12.2中创建自定义应用程序所需的基本步骤.如果您要创建新表单,报告等,则需要自定义应用程序.它们允许您将自定义编写的文件与Oracle电子商务套件提供的标准种子功能分离.在向您的环境应用修补程序或执行升级时可以保留自定义设置. 自定义数据和索引表空间默认为APPS_TS_TX_DATA和APPS_TS_TX_IDX. 注意:当没有活动的修补程序周期时,应在运行文件系统上执行本文档中描述的过程. 也可以按照此过程更正先前创建的不使用AD Sp

BCS--使用SharePoint Designer创建外部内容类型

使用SharePoint Designer创建外部列表(也可以在浏览器中创建列表) http://www.cnblogs.com/haogj/archive/2011/05/01/2033845.html 使用SharePoint Designer创建外部内容类型:解决bug:“NT AUTHORITY\ANONYMOUS LOGON”  "Acceed denied by Business Data Connectivity" http://www.codeproject.com/A

Unity3D ShaderLab 创建自定义高光类型

Unity3D ShaderLab 创建自定义高光类型 在上一篇,我们认识了Unity基础的高光实现,本次主要是研究如何对Phong高光类型进行顶点操作,以及在表面着色器中使用Input结构体的新参数进行像素操作. 所以还是新建Shader,再建材质球然后打开编辑器进行shader的编辑. 1.修改Properties Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _MainTint("Diff

织梦后台频道页调用新建模型中的自定义字段所感

今天是2017年12月31日,能在这一年的最后一天再收获一些东西是非常值得开心的一件事情. 就在刚才,我做的频道页需要用到新建模型中的自定义字段,在首页和频道页调用字段的代码我前两天知道了,很自信的去调用,代码如下: {dede:arclist channelid = "模型id" addfields = "自定义字段名称" row="3"} 文档链接:[field:arcurl /] 我自定义的文章标题:[dede:field.arctitle

数据库设计中主键字段类型的选择

很久都没有写过博客了,从最后一次发表的文章到现在已经是两个多月的时间了,一直都想写点什么,可一直没有时间(其实都是借口),随笔内容无疑就是工作学习中的总结,经验的分享,也是自己成长的一面镜子,好了,言规正传,这次谈谈在数据库设计中主键字段类型的选择. 做web 开发时,经常要与数据库交互,数据库主键的选择也犹为重要,怎么么选择数据库主键字段的类型,主要从以下几个方面考虑: 1. 首先要符合业务需求,这是设计中重要的出发点 2. 数据库的迁移问题,考虑在后期是否要经常迁移,数据库高度唯一性 3.程