这是我的代码,用于标记带有标记和标题的页面。稍后在代码中,我遍历并显示URL和关联的标记。在这里,我看到了我的标签,但我没有在“我的网站 - 标签和注释”中看到它。
protected override void CreateChildControls()
{
Control control = Page.LoadControl(_ascxPath);
Controls.Add(control);
Literal lt = new Literal();
SPServiceContext objServiceContext = SPServiceContext.Current;
SocialTagManager objSocialTagManager = new SocialTagManager(objServiceContext);
try
{
TermStore objTermStore = objSocialTagManager.TaxonomySession.DefaultKeywordsTermStore;
Term objTerm = objTermStore.KeywordsTermSet.CreateTerm("I Like Iting", objTermStore.DefaultLanguage);
System.Uri objURI = new Uri("http://spdev01/Lists/Calendar/calendar.aspx");
SocialTag objTag = objSocialTagManager.AddTag(objURI, objTerm, "Calendar YoYo");
lt.Text = objTag.Url.ToString() + objTag.Term.Name + "<br/><br/>";
}
catch (Exception ex)
{
lt.Text = ex.Message + ex.StackTrace + "<br/>";
}
finally
{
Controls.Add(lt);
}
//Display all the tags
string myaccount = @"domain\sharepoint";
UserProfileManager objUPManager = new UserProfileManager(objServiceContext);
UserProfile objProfile = objUPManager.GetUserProfile(myaccount);
SocialTag[] allTags = objSocialTagManager.GetTags(objProfile);
Literal ltTags = new Literal();
foreach (SocialTag tag in allTags)
ltTags.Text += string.Format("Tag: {0} - URL: {1}<br/>", tag.Term.Name, tag.Url.ToString());
Controls.Add(ltTags);
}
我没有在“我的网站”中看到自定义标记,但是当我遍历“MyTags”属性时,我看到了它。我是否必须在“我的网站”下运行特定的工作才能看到它?
答案 0 :(得分:1)
创建新的术语对象后,在TermStore对象上提交更改 objTermStore.CommitAll();
创建SocialTag后更新新对象 objTag.Update();
调用这些方法后,您将能够在“我的网站”中看到标记
此致
RAM中。