博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
保存列表中的托管元数据,TaxonomyField 字段类型
阅读量:6958 次
发布时间:2019-06-27

本文共 2698 字,大约阅读时间需要 8 分钟。

internal const int MAX_LENGTH = 255;        internal static readonly Regex NameRegex = new Regex("[;<>|\t]", RegexOptions.Compiled | RegexOptions.IgnoreCase);        internal static readonly Regex SpaceRegex = new Regex("[ ]{2,}", RegexOptions.Compiled | RegexOptions.IgnoreCase);        private string GetValidTermName(string name)        {            if (NameRegex.IsMatch(name))            {                name = NameRegex.Replace(name, " ");            }            name = SpaceRegex.Replace(name, " ");            name = name.Length > MAX_LENGTH ? name.Substring(0, MAX_LENGTH) : name;            name = name.Replace(Convert.ToChar(38), Convert.ToChar(65286));            return name.Trim();        }        private void WriteTagsToFolksonomyColumn(IEnumerable
tags, SPListItem item, TaxonomyField column) { if (!column.IsTermSetValid) return; if (!column.Open) return; var session = new TaxonomySession(item.Web.Site); var mms = session.TermStores[column.SspId]; var ts = mms.GetTermSet(column.TermSetId); if (!ts.IsOpenForTermCreation) return; var addedTerms = new List
(); bool hasChanges = false; foreach (var tag in tags) { if (tag.Length > MAX_LENGTH) continue; var validTag = GetValidTermName(tag); Term matchingTerm=null; if (column.IsKeyword) { TermCollection terms = mms.GetTerms(validTag, false, StringMatchOption.ExactMatch, 1, true); if (terms.Count > 0) matchingTerm = terms[0]; } else { TermCollection terms = ts.GetTerms(validTag, false, StringMatchOption.ExactMatch, 1, true); if (terms.Count > 0) matchingTerm = terms[0]; } if (matchingTerm == null) { matchingTerm = ts.CreateTerm(validTag, mms.WorkingLanguage); hasChanges = true; } if (!addedTerms.Contains(matchingTerm)) { addedTerms.Add(matchingTerm); } } if (hasChanges) mms.CommitAll(); if (addedTerms.Count > 0) { if (column.AllowMultipleValues) column.SetFieldValue(item, addedTerms, mms.WorkingLanguage); else column.SetFieldValue(item, addedTerms[0]); } }

  

转载于:https://www.cnblogs.com/NetUser/archive/2012/10/22/2733891.html

你可能感兴趣的文章
Windows系统的消息机制
查看>>
谈谈java中静态变量与静态方法在有继承关系的两个类中调用
查看>>
基础练习 十六进制转八进
查看>>
人工智能赢了人类,那又如何?
查看>>
Shell中字符串、数值的比较
查看>>
Arg_parser 1.8 发布,C++ 参数解析库
查看>>
DAC--解决windows验证无法登陆的问题
查看>>
[CALayer release]: message sent to deallocated instance iOS内存过度释放问题
查看>>
WPF界面设计技巧(4)—自定义列表项样式
查看>>
git push的时候每次都要输入用户名和密码的问题解决
查看>>
hiho_1138_island_travel
查看>>
love2d教程13--图形界面
查看>>
POJ 1276 Cash Machine
查看>>
C语言中 struct成员变量顺序对内存的占用
查看>>
POJ1291-并查集/dfs
查看>>
移动办公首选!电商热卖轻薄本高低该怎么选?
查看>>
[译] RNN 循环神经网络系列 1:基本 RNN 与 CHAR-RNN
查看>>
Android技能树 — PopupWindow小结
查看>>
如何在create-react-app项目中使用vw实现手淘vw移动端适配布局
查看>>
Wormhole燃烧地址到底有多安全
查看>>