Получить реальный заголовок из списков SharePoint - PullRequest
2 голосов
/ 11 февраля 2009

Привет! Я запрашиваю списки Sharepoint, используя библиотеку Sharepoint в .net. Я заметил, что есть более одного поля заголовка. Как я могу получить пользовательское поле заголовка?

 SPListItem item = myItemCollection[i];
 item["Title"] <- provides me the wrong title field

Это известная проблема? Спасибо

Однако, если я зайду в настройки списка и переименую столбец из заголовка в статью И сделать следующее это работает:

 SPListItem item = myItemCollection[i];
 item["Article"] <- provides me the wrong title field

Ответы [ 4 ]

2 голосов
/ 11 февраля 2009

Запустите это в консольном приложении. Скорее всего, ваша проблема связана с разницей в отображении и внутреннем имени, как указано выше. Обратите внимание: даже когда вы создаете собственный список и переименовываете поле «Заголовок» по умолчанию, внутреннее имя никогда не меняется с «Заголовок».

using (SPSite siteCollection = new SPSite("~~~~ Your site URL here ~~~~"))
{
    using (SPWeb site = siteCollection.RootWeb)
    {
        foreach (SPField f in site.Lists["~~~~ Your list name here ~~~~"].Fields)
        {
            Console.WriteLine(f.InternalName + " | " + f.Title);
        }
    }
}

Console.ReadLine();
0 голосов
/ 11 февраля 2009

Вы пробовали item.Title?

0 голосов
/ 11 февраля 2009

Если у вас есть два элемента с одинаковым отображаемым именем, но с разными внутренними именами, то SharePoint, скорее всего, добавил элементы для дифференциации полей. Я бы поставил точку останова на элемент списка и посмотрел код XML для элемента (скопируйте и вставьте его в VS). Тогда вы сможете увидеть, как отличаются поля.

Если это не сработает, сохраните GUID и используйте его вместо этого.

0 голосов
/ 11 февраля 2009

Вы ищете ["LinkTitle"] или ["Name"] - скорее всего, первое.

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