2009-03-06 34 views
2

在SharePoint中创建新的内容类型。添加在浏览SharePoint内容类型的列

我想添加一个新的列/字段,让用户浏览一个“资产”,例如图片或视频存在于SharePoint站点。

我该如何添加一个让用户能够浏览的列。

感谢

回答

0

我用PublishingWebControls:AssetUrlSelector

3

您将要创建一个custom field,并提供渲染控制模板自己的浏览界面(见下文)。它很容易上手,但你需要知道有多个移动部件:

  1. 字段类型/呈现控制 - 这是封装字段定义的对象。它负责理解如何在设计时(当它添加到列表中)呈现字段,在运行时(当它被填写在表单中或在列表视图页面上查看时)以及字段值的类型包含的内容。
  2. 运行时UI /呈现控制模板(可选) - 这是在字段在新/编辑项目页面上从用户收集新值时显示的UI。
  3. 字段值类别(可选) - 这是您将如何存储用户输入字段的值
  4. 设计时UI /编辑控件(可选) - 这是用户将看到他们将自定义字段添加到列表中

这些都在上面的链接中描述。有很多关于创建自定义字段的博客文章。

3

正如其他答案所述,您应该为此功能创建一个custom field。但是,您不应该自己实现Browse功能,而应该查看Microsoft.SharePoint.Publishing.WebControls命名空间中的AssetUrlSelector控件(可以使用.NET Reflector工具查看控件)。

在实现自定义字段时,您可以将AssetUrlSelector添加到自定义UserControl,并在字段处于编辑模式时使其可见。下面显示了一种方法示例:

<%@ Control Language="C#" %> 
<%@ Assembly Name="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="publishing" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 

<SharePoint:RenderingTemplate ID="CustomFieldControl" runat="server"> 
    <Template> 
    <publishing:AssetUrlSelector id="CustomUrlSelector" runat="server" /> 
    </Template> 
</SharePoint:RenderingTemplate> 

上面的示例仅显示如何将控件添加到自定义字段。确保在不处于编辑模式时隐藏AssetUrlSelector控件。