SharePoint - получение значения вычисленного поля без ручного разбора

У меня есть вычисленное поле в списке с помощью этой формулы:
=CID & " - " & Title

При просмотре списка он может отображаться как: "2 - Big Meeting". Когда я беру значение из кода так:
myItem["CIDandTitle"]

значение возвращается как: "string; # 2 - BigMeeting". Есть ли "правильный" способ в sharepoint для извлечения значения или нужно просто разбить знак точки с запятой и фунтом?

Я использую MOSS2007.

Ответ 1

Вы должны передать его в SPCalculatedField:

SPFieldCalculated cf = (SPFieldCalculated)myItem.Fields["CIDandTitle"];
string value = cf.GetFieldValueForEdit(myItem["CIDandTitle"]);

или

string value = cf.GetFieldValueAsText(myItem["CIDandTitle"]);

Ответ 2

Ответ @Nathan не указывает, что вам нужно предоставить отображаемое имя поля. Он не будет работать с internalName. Более того, я, скорее всего, буду использовать, чтобы отличить результат.

var cf = list.Fields["calculatedfieldDisplayName"] as  SPFieldCalculated;
String value = cf.GetFieldValueAsText(item["calculatedfieldDisplayName"]);