代码段:更新服务器上的外部列表中的项
上次修改时间: 2010年9月27日
适用范围: SharePoint Server 2010
本文内容
说明
先决条件
使用此示例
说明
利用 SPList 类使用的 Update 方法更新外部列表中的项。以下代码段演示如何将项更新到外部列表。
先决条件
Microsoft SharePoint Server 2010 或 位于服务器上。
Microsoft Visual Studio。
至少在 BDC 元数据存储中注册一个外部内容类型,并且有一个外部列表基于该外部内容类型。
备注
此示例中使用的外部列表无法使用传递身份验证。
使用此示例
启动 Visual Studio 并创建一个新的 C# 控制台应用程序项目。在创建此项目时,请选择".NET Framework 3.5"。
从"视图"菜单中,单击"属性页"以显示项目属性。
在"生成"选项卡中,为"目标平台"选择"任何 CPU"。
关闭项目属性窗口。
在"解决方案资源管理器"中的"引用"下,删除 System 和 System.Core 之外的所有项目引用。
将以下引用添加到项目中:
Microsoft.SharePoint
System.Web
将 Program.cs 中自动生成的代码替换为此过程结束时列出的代码。
将 <siteUrl>、<ExternalListName>、<BdcIdentity> 和 <Field>, <Value> 对替换为有效值。
保存项目。
编译并运行项目。
using System;
using System.Web;
using Microsoft.SharePoint;
namespace Microsoft.SDK.SharePoint.Samples.Bdc.ExternalList
{
class Program
{
static void Main(string[] args)
{
using(SPSite site = new SPSite("<siteUrl>"))
{
SPServiceContext context = SPServiceContext.GetContext(site);
SPServiceContextScope contextScope = new SPServiceContextScope(context);
SPWeb web = site.OpenWeb();
SPList list = web.Lists["<ExternalListName>"];
SPListItem item = GetItemByBdcId(list, "<BdcIdentity>");
item["<Field1>"] = "<Value1>";
item["<Field2"] = "<Value2>";
item["<Field3>"] = "<Value3>";
// Set all fields.
item.Update();
}
}
public static SPListItem GetItemByBdcId (SPList list, string bdcIdentity)
{
SPListItem myitem = null;
foreach(SPListItem item in list.Items)
{
if (item["BdcIdentity"].ToString() == bdcIdentity)
{
myitem = item;
}
}
return myitem;
}
}
}