问题描述
我有一个术语库,其中有一些术语集,例如:部门.
现在我已将该部门映射到用户个人资料属性.
我只能提取字符串(即值),但如何获取术语集的指导?
I have a termstore where i have termsets for example :Department.
Now i have mapped this department to user profile property.
I am only able to fetch string i.e value but how can i fetch the guid of term set ?
推荐答案
下面是供您参考的代码.在这里,我正在获取用户个人资料属性,然后找出它们是否具有与之相关联的术语集-
Below is the code for your reference. Here I am fetching the user profile properties and then finding out whether they have a term set associated with them -
使用(SPSite网站=新的SPSite("http://wingtipserver/"))
{
SPServiceContext serviceContext = SPServiceContext.GetContext(site);
试试
{
SPServiceContext上下文=
SPServiceContext.GetContext(site);
ProfileSubtypeManager psm = ProfileSubtypeManager.Get(context);
ProfileSubtype ps = psm.GetProfileSubtype(ProfileSubtypeManager.GetDefaultProfileName(ProfileType.User));
ProfileSubtypePropertyManager pspm = ps.Properties;
foreach(pspm.PropertiesWithSection中的ProfileSubtypeProperty profileSubtypeProperty)
{
if(profileSubtypeProperty.CoreProperty.TermSet!= null)
{
Console.WriteLine(profileSubtypeProperty.CoreProperty.TermSet.Id);
}
}
}
catch(System.Exception e)
{
Console.WriteLine(e.GetType().ToString()+``:" + e.Message);
Console.Read();
}
}
using (SPSite site = new SPSite("http://wingtipserver/"))
{
SPServiceContext serviceContext = SPServiceContext.GetContext(site);
try
{
SPServiceContext context =
SPServiceContext.GetContext(site);
ProfileSubtypeManager psm = ProfileSubtypeManager.Get(context);
ProfileSubtype ps = psm.GetProfileSubtype(ProfileSubtypeManager.GetDefaultProfileName(ProfileType.User));
ProfileSubtypePropertyManager pspm = ps.Properties;
foreach (ProfileSubtypeProperty profileSubtypeProperty in pspm.PropertiesWithSection)
{
if(profileSubtypeProperty.CoreProperty.TermSet != null)
{
Console.WriteLine(profileSubtypeProperty.CoreProperty.TermSet.Id);
}
}
}
catch (System.Exception e)
{
Console.WriteLine(e.GetType().ToString() + ": " + e.Message);
Console.Read();
}
}
如果您在获取用户个人资料并读取其属性值时需要了解Guid,则只需执行此操作-
If you need to know the guid at the time when you are fetching a user profile and reading its property values then simply do this -
user ["SPS部门"] .ProfileSubtypeProperty.CoreProperty.TermSet.Id
user["SPS-Department"].ProfileSubtypeProperty.CoreProperty.TermSet.Id
这篇关于将术语集ID映射到userprofile属性时,获取它的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!