Установите значение пользовательского свойства webpart в c # - PullRequest
0 голосов
/ 29 января 2012

Как задать значение настраиваемого свойства веб-части Prograically в C #.

SPSecurity.RunWithElevatedPrivileges(delegate()

 {
   using (SPSite SiteCollection = new SPSite(mySiteGuid))

   {
      SPWeb myWeb = SiteCollection.OpenWeb(myWebGuid);

      myWeb .AllowUnsafeUpdates = true;
      Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager mgr = null;
      mgr = myWeb.GetLimitedWebPartManager    ("default.aspx",System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

      foreach (System.Web.UI.WebControls.WebParts.WebPart myWebPart in mgr.WebParts)
        {

         if (myWebPart.Title == "Other Webpart Name")
          {
           myWebPart.Visible = ! myWebPart.Visible;
           myWeb.Update();
           break;
          }
        }
}

});

У меня есть пользовательское свойство в веб-части типа string для получения вводаПользователь.Я хотел обновить значение свойства из c #.Есть ли способ установить значение?

TIA

Ответы [ 2 ]

0 голосов
/ 17 августа 2016

Возможно, уже немного поздно для ответа, но здесь я позволю фрагмент кода, который я использовал для этого.

        var webCollection = new SPSite("http://mySharePointSite").AllWebs;
        foreach (SPWeb web in webCollection)
        {
            var landingPageReference = @"/Pages/default.aspx";
            var page = web.GetFile(landingPageReference);
            if (!page.Exists)
                continue;

            page.CheckOut();
            var spLimitedWebPartManager = web.GetLimitedWebPartManager(page.ServerRelativeUrl, PersonalizationScope.Shared);
            foreach (WebPart webPartItem in spLimitedWebPartManager.WebParts)
            {
                if (webPartItem.Title.Equals("myWebPartTitle"))
                {
                    // Specify Properties to change here
                    webPartItem.ChromeType = PartChromeType.Default;
                    webPartItem.Description = "AGAIN CHANGED";

                    // Save made changes
                    spLimitedWebPartManager.SaveChanges(webPartItem);
                    break;
                }
            }
            page.CheckIn("Add Comment if desired");
            page.Publish("Add Comment if desired");
            web.Update();
            web.Dispose();
        }
0 голосов
/ 30 января 2012

Попробуйте myWebPart.Update() вместо myWeb.Update().

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