Получите настоящий заголовок из списков SharePoint

Привет, я запрашиваю списки 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

person Oliver S    schedule 11.02.2009    source источник
comment
Чтобы увидеть, что происходит, установите SharePoint Manager - codeplex.com/spm   -  person Nat    schedule 11.02.2009


Ответы (4)


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

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();
person knight0323    schedule 11.02.2009

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

person Andy Mikula    schedule 11.02.2009
comment
Это список задач? Список документов? - person Andy Mikula; 11.02.2009
comment
Вот что он говорит, Оливер. Каждое поле имеет внутреннее имя (которое никогда не меняется) и отображаемое имя. Поле, которое вы видите как Заголовок, может иметь внутреннее имя LinkTitle или Name - проверьте код Knights или менеджер sharepoint codeplex. - person Ryan; 12.02.2009

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

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

person webwires    schedule 11.02.2009

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

person dahlbyk    schedule 11.02.2009