Базовая веб-часть SharePoint C # - PullRequest
0 голосов
/ 18 ноября 2010

Я никогда раньше не работал на C # (хотя и немного на PHP), но мне было поручено создать веб-часть SharePoint.Мне нужно, чтобы получить список данных из SharePoint.Я действительно не знаю, с чего начать, поэтому я начинаю с проверки «существует ли список».Это просто проверяет строку «listName» и печатает «этот список существует» на странице.

Может ли кто-нибудь помочь мне с моим кодом и хотя бы поставить меня на правильный путь?Спасибо.

namespace SlideShowWebPart
  {
    public class SlideShowGuide : WebPart
      {
        protected override void Render(System.Web.UI.HtmlTextWriter output)
          {
            using (SPWeb web = SPContext.Current.Site.OpenWeb("http://www.school.edu"))
              {
                string listName = "List123ABC";
                var lists = web.Lists;
                foreach (SPList list in lists)
                  {
                    if (list.Title.Equals(listName))
                       output.Write("<b>This list exists</b>");
                  }
              }
          }
      }
  }

Ответы [ 2 ]

1 голос
/ 18 ноября 2010

Следующее может быть неточным, так как может быть трудно идентифицировать проблему, не видя трассировки стека.

SPSite.OpenWeb() принимает относительный URL.Попробуйте удалить имя хоста и указать только путь.(В вашем примере путь не указан).Если вы пытаетесь открыть текущую сеть, тогда у вас должно получиться вызвать перегрузку без параметров.

Документация SPSite.OpenWeb ()

using (SPWeb web = SPContext.Current.Site.OpenWeb())
{
    // Your Code Here
}

Если вам нужно использовать URL для доступа к сайту, вы можете передать абсолютный URL в SPSiteКонструктор.

SPSite (строка) Документация конструктора

using (SPSite site = new SPSite("http://www.school.edu"))
{
    using (SPWeb web = site.OpenWeb())
    {
        // Your Code Here
    }
}

В качестве альтернативы, вы можете получить ссылку на текущий веб-сайт следующим образом:

SPWeb web = SPContext.Current.Web;

Будьте осторожны, чтобы не избавляться от объектов, полученных из SPContext.Current, так как это вызовет проблемы с SharePoint.

0 голосов
/ 18 ноября 2010

вы можете использовать web.lists ["listName"] для проверки существования списка.Как только у вас есть список, вы можете ссылаться на элементы с помощью той же концепции.

SPList list = web.lists["listName"];
list.items["ColumnName"]; // returns the value as a string representation

Если вы хотите просто получить доступ к данным списка, возьмите себе копию конструктора sharepoint, перейдите на сайт www.endusersharepoint.com и ознакомьтесь с серией статей в веб-части представления данных.

...