Почему я получаю "строку";текст перед значением поля списка SharePoint, когда я его получу? - PullRequest
0 голосов
/ 12 декабря 2018

Я довольно новичок в **. NET ** и, более того, в SharePoint , и у меня возникает следующая проблема при работе над проектом SharePoint 2013.

В моем коде я делаю:

for (int i = 0; i < eitchettaCorrenteList.Items.Count; i++)
{
    string valoreColonnaIniziativaInternalName = eitchettaCorrenteList.Fields[nomeColonna].InternalName;

    string valore = eitchettaCorrenteList.Items[i][valoreColonnaIniziativaInternalName].ToString();
}

Я перебираю список SharePoint с именем etichettaCorrentList и для каждой строки извлекаю значение определенного поля.

Это работает, но проблема в том, чтоэта строка:

string valore = eitchettaCorrenteList.Items[i][valoreColonnaIniziativaInternalName].ToString();

возвращает странное значение, которое содержит ожидаемое значение (которое содержится в моем списке), перед которым стоит код, который не является частью значения выбранного поля, что-то вроде: string; # S01-INIZIATIVA EUROPA 1 TEST

Что это за строка; ?Почему я это получаю?Как правильно удалить или не получить эту строку ; до получения нужной информации?Что случилось?Чего мне не хватает?

1 Ответ

0 голосов
/ 12 декабря 2018

Используйте эту ссылку.

Здесь существует ответ на ваш вопрос.Ваш тип поля: SPFieldCalculated.Используйте такой код:

var item = eitchettaCorrenteList.Items[i];
var field = eitchettaCorrenteList.Fields[nomeColonna];
string valoreColonnaIniziativaInternalName = field.InternalName;
if (field.Type.Equals(SPFieldType.Calculated)) {
}
    SPFieldCalculated cf = (SPFieldCalculated)field;
    string valore = cf.GetFieldValueForEdit(item[valoreColonnaIniziativaInternalName ]);
    // or 
    // string valore = cf.GetFieldValueAsText(item[valoreColonnaIniziativaInternalName ]);
}
else {
    string valore = item[valoreColonnaIniziativaInternalName].ToString();
}

Или, может быть, это будет работать правильно во всех случаях:

var item = eitchettaCorrenteList.Items[i];
var field = eitchettaCorrenteList.Fields[nomeColonna];
var value = field.GetFieldValueAsText(item[field.InternalName]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...