Shto webreference në Lists.asmx në faqen SharePoint.
http://localhost / _vti_bin / Lists.asmx
(SharePoint virtual Directory URL / _vti_bin / Lists.asmx
shkruaj metodat e mëposhtme në webservice tuaj.
privat data.DataTable GetDataTableFromWSS(bool onlySchema)
{
string WssSiteUrl = http://192.168.111.21;
string WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists listat = WssSite.Lists reja();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = true;
//ju duhet të kalojnë Lista emrin këtu
string CommandText = “Info punonjës”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement Lista = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Lista[@ Title = '{0}']”, CommandText), NameSpaceMgr);
nëse (Lista == null)
{
hedhin ArgumentException të re(String.Format(“Lista {0} nuk do të mund të gjendet në faqen e internetit {1}”, CommandText, WssSiteUrl));
}
string TechListName = List.GetAttribute(“Emër”);
Rezultati data.DataTable = data.DataTable i ri(“listë”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = System.Text.StringBuilder i ri();
DisplayNames System.Collections.Hashtable = System.Collections.Hashtable i ri();
foreach (XmlElement Field në ListInfoNode.SelectNodes(“WSS:Fushat / WSS:Fushë”, NameSpaceMgr))
{
nëse (Field.HasChildNodes)
{
foreach (XmlElement FLD në Field.SelectNodes(“WSS:Fushat / WSS:Fushë”, NameSpaceMgr))
{
string = FIELDNAME Fld.GetAttribute(“Emër”);
string = FieldDisplayName Fld.GetAttribute(“DisplayName”);
nëse (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Fushë));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
tjetër
{
string FieldName = Field.GetAttribute(“Emër”);
string FieldDisplayName = Field.GetAttribute(“DisplayName”);
nëse (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Fushë));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
nëse (onlySchema) rezultat i kthimit;
Fushat XmlElement = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, i pavlefshëm, fusha, “1000000”, i pavlefshëm);
// Fusha Lookup gjithmonë fillojnë me ID numerike, pastaj ;# dhe pastaj përfaqësim string.
// Ne jemi normalisht të interesuar vetëm në emër, kështu që ne zhvesh ID.
System.Text.RegularExpressions.Regex CheckLookup = ri System.Text.RegularExpressions.Regex(“^ D ;#”);
foreach (XmlElement Item në ItemsNode.SelectNodes(“rs:të dhënat / z:rresht”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (data.DataColumn col në result.Columns)
{
nëse (Item.HasAttribute(“ows_” + (varg)DisplayNames[col.ColumnName]))
{
string val = Item.GetAttribute(“ows_” + (varg)DisplayNames[col.ColumnName]);
nëse (CheckLookup.IsMatch((varg)orë))
{
string valString = val si String;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Caktimin e një varg në një fushë që pret numra ose
// Vlerat koha e datës implicite do të konvertojë ata
newRow[me] = H;
}
}
result.Rows.Add(newRow);
}
rezultat i kthimit;
}
// Funksioni i mëposhtëm është përdorur për të marrë hapësira
_nsmgr privat XmlNamespaceManager statike;
privat statike XmlNamespaceManager NameSpaceMgr
{
shkoj
{
nëse (_nsmgr == null)
{
_nsmgr = XmlNamespaceManager i ri(i ri NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“me”, “UUID:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “UUID:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“rs”, “urnë:schemas-microsoft-com:rowset”);
_nsmgr.AddNamespace(“nga”, “#RowsetSchema”);
}
kthehen _nsmgr;
}
}
Lloji TypeFromField privat(Fushë XmlElement)
{
ndryshim (field.GetAttribute(“Lloj”))
{
rast “DATETIME”:
kthehen typeof(DATETIME);
rast “Numër i plotë”:
kthehen typeof(int);
rast “Numër”:
kthehen typeof(nxjerr në shitje);
mospagim:
kthehen typeof(varg);
}
}
WssSite kundërshtojnë në këtë kod, Unë jam duke marrë gabim në këtë, “ju jeni të humbur një direktivë duke përdorur ose një referencë kuvendit?” ndonjë ide
Ka Bala,
WssSite është një Webreference për lists.asmx
Cheers,
Uday
I shkëlqyer. Thanks Uday. Your post saved me lot of time in my migration project 🙂
Ju jeni të mirëpritur Jaya