Lisää webreference on Lists.asmx SharePoint-sivuston.
http://localhost / _vti_bin / Lists.asmx
(SharePoint virtuaalinen hakemisto URL / _vti_bin / Lists.asmx
kirjoittaa seuraavia menetelmiä your webservice.
yksityiset data.DataTable GetDataTableFromWSS(bool onlySchema)
{
string WssSiteUrl = http://192.168.111.21;
string WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists luettelot = new WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = true;
//sinun on läpäistävä List Name täällä
string CommandText = “Työsuhde Info”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement List = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“WSS:Luettelo[@ Title = "{0}"]”, CommandText), NameSpaceMgr);
jos (Luettelo == null)
{
heittää uusi ArgumentException(String.Format(“Lista {0} ei löytynyt sivuston {1}”, CommandText, WssSiteUrl));
}
string TechListName = List.GetAttribute(“Nimi”);
data.DataTable tulos = uusi data.DataTable(“lista”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = uusi System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = uusi System.Collections.Hashtable();
foreach (XmlElement Field in ListInfoNode.SelectNodes(“WSS:Fields / WSS:Kenttä”, NameSpaceMgr))
{
jos (Field.HasChildNodes)
{
foreach (XmlElement FLD Field.SelectNodes(“WSS:Fields / WSS:Kenttä”, NameSpaceMgr))
{
string = fieldname Fld.GetAttribute(“Nimi”);
string = FieldDisplayName Fld.GetAttribute(“DisplayName”);
jos (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Kenttä));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
muuta
{
string fieldname = Field.GetAttribute(“Nimi”);
string FieldDisplayName = Field.GetAttribute(“DisplayName”);
jos (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(Kenttä));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
jos (onlySchema) paluu tulos;
XmlElement kentät = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, tyhjä, kentät, “1000000”, tyhjä);
// Hakukenttiä aina aloittaa numeerinen tunnus, sitten ;# ja sitten merkkijono edustus.
// Olemme yleensä kiinnostuneita vain nimi, joten nauhat tunnus.
System.Text.RegularExpressions.Regex CheckLookup = uusi System.Text.RegularExpressions.Regex(“^ D ;#”);
foreach (XmlElement alkio ItemsNode.SelectNodes(“rs:data / z:rivi”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (data.DataColumn col vuonna result.Columns)
{
jos (Item.HasAttribute(“ows_” + (jono)DisplayNames[col.ColumnName]))
{
string val = Item.GetAttribute(“ows_” + (jono)DisplayNames[col.ColumnName]);
jos (CheckLookup.IsMatch((jono)tuntia))
{
string valString = val kuin String;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// Määrittäminen merkkijono kentän joka odottaa numeroita tai
// datetime arvot epäsuorasti muuntaa ne
newRow[kanssa] = H;
}
}
result.Rows.Add(newRow);
}
paluu tulos;
}
// Seuraavat toimintoa käytetään Get Nimiavaruuksien
private static XmlNamespaceManager _nsmgr;
private static XmlNamespaceManager NameSpaceMgr
{
saada
{
jos (_nsmgr == null)
{
_nsmgr = uusi XmlNamespaceManager(uusi NameTable());
_nsmgr.AddNamespace(“WSS”, “http://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“kanssa”, “UUID:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “UUID:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“rs”, “uurna:skeemoja-microsoft-com:RowSet”);
_nsmgr.AddNamespace(“alkaen”, “#RowsetSchema”);
}
palata _nsmgr;
}
}
yksityinen Tyyppi TypeFromField(XmlElement kenttä)
{
kytkin (field.GetAttribute(“Tyyppi”))
{
tapaus “DateTime”:
palata typeof(DateTime);
tapaus “Kokonaisluku”:
palata typeof(int);
tapaus “Numero”:
palata typeof(kellua);
oletusarvo:
palata typeof(jono);
}
}
WssSite vastustaa tätä koodia, Saan virheestä, “olet puuttuu avulla direktiivin tai kokoonpano viite?” mitään käsitystä
Siellä Bala,
WssSite on Webreference varten lists.asmx
Kippis,
Uday
Erinomainen. Kiitos Uday. Viestisi säästi paljon aikaa muuttoprojektissani 🙂
Olet tervetullut Jaya