存在此錯誤,它會干擾我的Silverlight 2.0控件中的數據輸出。當用戶對於例如,選擇從SharePoint 2007列字段個人或集團用戶,輸出將顯示爲:SharePoint列值包含額外的#字符
9;#Carol
或string;#4/8/2011
(列字段日期和時間)
我該如何消除傳入的附加字符呢?
修補程序也沒有多大幫助。
存在此錯誤,它會干擾我的Silverlight 2.0控件中的數據輸出。當用戶對於例如,選擇從SharePoint 2007列字段個人或集團用戶,輸出將顯示爲:SharePoint列值包含額外的#字符
9;#Carol
或string;#4/8/2011
(列字段日期和時間)我該如何消除傳入的附加字符呢?
修補程序也沒有多大幫助。
;#
是SharePoint的數據分隔符。它與逗號分隔值(CSV)文件中的逗號相似。您需要手動解析數據:
string[] parsedData = data.Split(new string[] { ";#" });
在Person or Group
場的情況下,9
是用戶的用戶ID。
原來,問題出在我的源代碼,只需將其修改爲以下內容:
return value.Substring(value.LastIndexOf(";#") + 2);
你不應該使用split
功能。如在這個崗位
在Silverlight控件中使用MOSS2007,「Microsoft.SharePoint.dll」不可用,所以'SPFieldUserValue'也不可用。 –
@凱爾:這是無效的。即使在Silverlight控件中,您也可以始終添加對Microsoft.SharePoint.dll的引用。什麼阻止你這樣做?如果Silverlight控件部署在SharePoint服務器中,則引用將始終有效 –
謝謝你的解釋先生您應該使用
SPFieldUserValue
。無論如何解決了這個問題:) – brainsfrying