使用API​​添加后,我的网站中看不到社交标签

时间:2010-09-13 19:29:42

标签: sharepoint-2010

这是我的代码,用于标记带有标记和标题的页面。稍后在代码中,我遍历并显示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”属性时,我看到了它。我是否必须在“我的网站”下运行特定的工作才能看到它?

1 个答案:

答案 0 :(得分:1)

创建新的术语对象后,在TermStore对象上提交更改 objTermStore.CommitAll();

创建SocialTag后更新新对象 objTag.Update();

调用这些方法后,您将能够在“我的网站”中看到标记

此致

RAM中。