SharePoint特殊字段处理

Lookup Field

Field Class: SPFieldLookup
Field Value Class: SPFieldLookupValue

Populating Information:
item["FieldName"] = new SPFieldLookupValue("Title"); // SharePoint will do the lookup as long as the LookupValue's are unique
item.Update();
//or
item["FieldName"] = new SPFieldLookupValue(1, "Title");
item.Update();

Retrieving Information:
SPFieldLookupValue itemValue = item["FieldName"] as SPFieldLookupValue;
int id = itemValue.LookupId;
string value = itemValue.LookupValue; 
 
Multiple Lookup Field

Field Class: SPFieldLookup
Field Value Class: SPFieldLookupValueCollection

Populating Information:
SPFieldLookupValueCollection itemValues = SPFieldLookupValueCollection();
itemValues.Add(new SPFieldLookupValue(1, "Title"));
item["FieldName"] = itemValues;
item.Update();

Retrieving Information:
SPFieldLookupValueCollection itemValues = item["FieldName"] as SPFieldLookupValueCollection;
foreach (SPFieldLookupValue itemValue in itemValues)
{
int id = itemValue.LookupId;
string value = itemValue.LookupValue;
}

Parent list id:
string fstr = properties.AfterProperties["MasterPlan"].ToString();
SPFieldLookupValue lv = new SPFieldLookupValue(fstr);
SPFieldLookup f = properties.List.Fields["MasterPlan"] as SPFieldLookup;
SPList parentList = properties.Web.Lists[new Guid(f.LookupList)];
SPListItem parentItem = parentList.GetItemById(lv.LookupId);

User Field

Field Class: SPFieldUser
Field Value Class: SPFieldUserValue

Populating Information:
web.EnsureUser(@"domain\username");
SPUser user = web.AllUsers[@"domain\username"];
item["FieldName"] = user;
item.Update(); 

Retrieving Information:
string currentValue = item["FieldName"].ToString();
SPFieldUser userField = list.Fields.GetFieldByInternalName("FieldName");
SPFieldUserValue itemValue = (SPFieldUserValue)userField.GetFieldValue(currentValue);
SPUser user = itemValue.User;

URL Field

Field Class: SPFieldUrl
Field Value Class: SPFieldUrlValue

Populating Information:
SPFieldUrlValue urlValue = new SPFieldUrlValue();
urlValue.Url = "http://www.google.com/";
urlValue.Description = "Google";
item["FieldName"] = urlValue;
item.Update();

Retrieving Information:
SPFieldUrlValue urlValue = new SPFieldUrlValue(item["FieldName"].ToString());
string url = urlValue.Url;
string description = urlValue.Description;

Multiple Choice Field

Field Class: SPFieldMultiChoice
Field Value Class: SPFieldMultiChoiceValue

Populating Information:
SPFieldMultiChoiceValue itemValue = new SPFieldMultiChoiceValue();
itemValue.Add("Choice 1");
itemValue.Add("Choice 2");
itemValue.Add("Choice 3");
item["FieldName"] = itemValue;
item.Update();

Retrieving Information:
SPFieldMultiChoiceValue itemValue = new SPFieldMultiChoiceValue(item["FieldName"].ToString());
foreach (string choice in itemValue)
{
// value is in choice
}

托管元数据字段

using (SPSite site = new SPSite(http://myUrl))  
{ using (SPWeb web = site.OpenWeb())
    {
      string tagsFieldName = "Tags";
      string myListName = "MyList";
      string myTermName = "myTerm";
      SPListItem myItem = web.Lists[myListName].GetItemById(1);
      TaxonomyField tagsField = (TaxonomyField) myList.Fields[tagsFieldName];
      TaxonomySession session = new TaxonomySession(site);
      TermStore termStore = session.TermStores[tagsField.SspId];
      TermSet termSet = termStore.GetTermSet(tagsField.TermSetId);
      Term myTerm = null;
      try
      {
myTerm = termSet.Terms[myTermName];
   }
   catch (ArgumentOutOfRangeException)
{ }
     string termString = String.Concat(myTerm.GetDefaultLabel(1033),TaxonomyField.TaxonomyGuidLabelDelimiter, myTerm.Id);
if (tagsField.AllowMultipleValues)
{
TaxonomyFieldValueCollection tagsValues = new TaxonomyFieldValueCollection(tagsField);
tagsValues.PopulateFromLabelGuidPairs(String.Join(TaxonomyField.TaxonomyMultipleTermDelimiter.ToString(),new[] { termString }));
myItem[tagsFieldName] = tagsValues;
}
else
{
TaxonomyFieldValue tagValue = new TaxonomyFieldValue(termString);
myItem[tagsFieldName] = tagValue;
} myItem.Update();
}
}
UserProfile获取
      using (SPSite site = new SPSite("http://kfc1/sites/FirstTestSite"))
      {
          SPServiceContext context =
            SPServiceContext.GetContext(site);
         UserProfileManager profileManager = new UserProfileManager(context);
         string sAccount = "free\\administrator";
         UserProfile u = profileManager.GetUserProfile(sAccount);
         foreach (var item in u.Properties)
         {
           Console.WriteLine(item.Name+":"+item.DisplayName);
         }
     }

 

转载于:https://www.cnblogs.com/windy2008/archive/2010/12/07/1898820.html

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值