Mag*_*ndi 7 sharepoint client-side sharepoint-2010 csom
使用SharePoint 2010中的客户端对象模型(C#),如何确定给定列表中是否存在指定的列(字段)名称?
谢谢,MagicAndi.
EHo*_*ski 12
刚刚在搜索同样的事情时发现了这一点,但看起来Sharepoint 2010有内置的功能,至少对于Server模型: list.Fields.ContainsField("fieldName");
不确定客户端是否存在.认为它是存储这些信息的好地方.
服务器对象模型
string siteUrl = "http://mysite";
using (SPSite site = new SPSite(siteUrl))
{
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["my forum"];
for (int i = 0; i < list.Fields.Count; i++)
{
if (list.Fields[i].Title == "xyz")
{
-
-
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
客户对象模型
string siteUrl = "http://MyServer/sites/MySiteCollection";
ClientContext clientContext = new ClientContext(siteUrl);
SP.List List = clientContext.Web.Lists.GetByTitle("my forum");
for (int i = 0; i < list.Fields.Count; i++)
{
if (list.Fields[i].Title == "xyz")
{
-
-
}
}
Run Code Online (Sandbox Code Playgroud)
以下方法演示了如何使用ListCSOM确定指定列是否存在:
static class FieldCollectionExtensions
{
public static bool ContainsField(this List list,string fieldName)
{
var ctx = list.Context;
var result = ctx.LoadQuery(list.Fields.Where(f => f.InternalName == fieldName));
ctx.ExecuteQuery();
return result.Any();
}
}
Run Code Online (Sandbox Code Playgroud)
用法
using(var ctx = new ClientContext(webUrl))
{
var list = ctx.Web.Lists.GetByTitle(listTitle);
if(list.ContainsField("Title")){
//...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30338 次 |
| 最近记录: |