添加浏览共享点内容类型的列

时间:2009-03-06 11:02:04

标签: sharepoint

我在sharepoint中创建一个新的内容类型。

我正在尝试添加一个新的列/字段,让用户可以浏览“资产”,例如sharepoint网站中存在的图片或视频。

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

感谢

3 个答案:

答案 0 :(得分:3)

您需要创建custom field并在渲染控件模板中提供自己的浏览UI(参见下文)。它非常简单,但您需要注意有多个活动部分:

  1. 字段类型/呈现控件 - 这是一个封装字段定义的对象。它负责了解如何在设计时(当它添加到列表中时),在运行时(当它在表单中填写,或在列表视图页面上查看时)和字段的值类型来呈现字段包含。
  2. 运行时UI /呈现控件模板(可选) - 这是您的字段在新/编辑项目页面上从用户收集新值时显示的UI。
  3. 字段值类(可选) - 这是存储用户输入字段的值的方法
  4. 设计时UI /编辑控件(可选) - 这是用户将自定义字段添加到列表时将看到的UI
  5. 这一切都在上面的链接中描述。关于创建自定义字段的博客文章很多。

答案 1 :(得分:3)

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

实现自定义字段时,您可以将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控件。

答案 2 :(得分:0)

我使用了PublishingWebControls:AssetUrlSelector