私のプログラムは、リスト sharepoint のバージョン履歴要素のデータを取得し、データを txt
ファイルに入れます。"Name" ListItems と "Location" を出力します。すべて問題ありませんが、残念ながら非常に悪い出力「名前」です。私の意見では、この行の問題
string strFirstName = Convert.ToString(objVersion["Name"]);
悪い出力:
名前 4049;#Zabiyakin Makar ,#STALT\Zabiyakin,# Zabiyakin@stalt.ru,#,#Zabiyakin Makar 場所 Â 名前 4049;#Zabiyakin Makar ,#STALT\Zabiyakin,# Zabiyakin@stalt.ru,#,#Zabiyakin Makarロケーション ホーム
私は出力が欲しい:
名前 ザビヤキン・マカールの場所 名前 ザビヤキン・マカールの場所 ホーム
コード プログラム :
using System;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using System.IO;
namespace ControlTest.Layouts.ControlTest
{
public partial class ApplicationPage1 : LayoutsPageBase
{
protected void Page_Load(object sender, EventArgs e)
{
//string ListUrl = "/Deps/sup/Lists/Whereabouts";
SPList objList = SPContext.Current.Web.Lists["Whereabouts"];
SPQuery objQuery = new SPQuery();
objQuery.Query = "<Where><Gt><FieldRef Name=\"ID\"/><Value
Type=\"Counter\">0 </Value></Gt></Where>";
SPListItemCollection objItemColl = objList.GetItems(objQuery);
foreach (SPListItem objItem in objItemColl)
{
SPListItemVersionCollection objVerisionColl = objItem.Versions;
if (objVerisionColl.Count > 1)
{
foreach (SPListItemVersion objVersion in objVerisionColl)
{
int versionID = objVersion.VersionId;
DateTime timeofcreation = objVersion.Created;
string strVersionLabel = objVersion.VersionLabel;
SPListItem objLstItm = objVersion.ListItem;
string strFirstName = Convert.ToString(objVersion["Name"]);
//string strFirstName =
((SPFieldUserValue)objVersion["Name"]).User.Name;
string strPlace = Convert.ToString(objVersion["location"]);
System.IO.TextWriter writer = new
StreamWriter(@"C:\custommenuoutput.txt", true);
writer.WriteLine(string.Format("Name: {0} location: {1}",
strFirstName, strPlace));
writer.Close();
}
}
}
}
}
}
良いアウトプットをする方法は?私を助けてください !