Социальные теги не видны на Моем сайте после добавления его с помощью API - PullRequest
1 голос
/ 13 сентября 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 Ответ

1 голос
/ 19 октября 2010

После создания нового термина-объекта подтвердите изменения в объекте TermStore. objTermStore.CommitAll ();

А после создания SocialTag обновите новый объект objTag.Update ();

После вызова этих методов вы сможете увидеть тег в «Моем сайте»

С уважением,

Ram.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...