SPWeb.Fields пуст при итерации через SPWebCollection - PullRequest
1 голос
/ 24 мая 2011

Я пишу приложение командной строки, которое проверяет SPFieldCollection, возвращаемое свойством SPWeb.Fields, но оно не ведет себя так, как мне бы хотелось. У меня есть сотни SPWebs, и он определенно касается их всех, но для всех, кроме первоначального SPWeb, он возвращает пустое свойство Fields. Что я делаю не так?

string siteUrl = "http://webroot/sitecoll";
using (SPSite siteCol = new SPSite(siteUrl))
{
    using(SPWeb outerWeb = siteCol.OpenWeb())
    {
        foreach (SPWeb innerWeb in siteCol.AllWebs)
        {
             LogMessageToFile(String.Format("Checking {0}", innerWeb.Url));  //executed for each of the hundreds of innerWebs
             if (innerWeb.Fields.ContainsField("Year"))
             {
                  // Never accessed after the first time through because innerWeb.Fields is empty
             }
        }
    }
}

1 Ответ

2 голосов
/ 18 августа 2011

SPweb.Fields жить на уровне семейства сайтов.

Если вы специально не создадите поля на уровнях дочернего сайта, вы получите 0 возвращенных.

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