დაამატეთ webreference იმ Lists.asmx in sharepoint საიტი.
http://localhost / _vti_bin / Lists.asmx
(SharePoint ვირტუალური დირექტორია URL / _vti_bin / Lists.asmx
დაწერა შემდეგი მეთოდები თქვენს webservice.
შეტყობინების data.DataTable GetDataTableFromWSS(bool onlySchema)
{
სიმებიანი WssSiteUrl = http://192.168.111.21;
სიმებიანი WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists სიები = new WssSite.Lists();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
lists.PreAuthenticate = true;
//თქვენ უნდა გაიაროს სია სახელი აქ
სიმებიანი CommandText = “თანამშრომელთა ინფორმაცია”;
XmlNode = ListCollectionNode lists.GetListCollection();
სია XmlElement = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“wss:სია[@ Title = '{0}’]”, CommandText), NameSpaceMgr);
თუ (სია == null)
{
გადაყარეთ ახალი ArgumentException(String.Format(“ჩამონათვალი {0} არ შეიძლება ნაპოვნი საიტი {1}”, CommandText, WssSiteUrl));
}
სიმებიანი TechListName = List.GetAttribute(“სახელი”);
data.DataTable შედეგი = new data.DataTable(“სია”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = new System.Text.StringBuilder();
System.Collections.Hashtable DisplayNames = new System.Collections.Hashtable();
foreach (XmlElement სფეროში ListInfoNode.SelectNodes(“wss:სფეროები / wss:საველე”, NameSpaceMgr))
{
თუ (Field.HasChildNodes)
{
foreach (XmlElement სფეროში in Field.SelectNodes(“wss:სფეროები / wss:საველე”, NameSpaceMgr))
{
სიმებიანი FieldName = Fld.GetAttribute(“სახელი”);
სიმებიანი FieldDisplayName = Fld.GetAttribute(“DisplayName”);
თუ (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(საველე));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
სხვა
{
სიმებიანი FieldName = Field.GetAttribute(“სახელი”);
სიმებიანი FieldDisplayName = Field.GetAttribute(“DisplayName”);
თუ (result.Columns.Contains(FieldDisplayName))
{
FieldDisplayName = FieldDisplayName + ” (” + FieldName + “)”;
}
result.Columns.Add(FieldDisplayName, TypeFromField(საველე));
fieldRefs.AppendFormat(“”, FieldName);
DisplayNames.Add(FieldDisplayName, FieldName);
}
}
თუ (onlySchema) დაბრუნების შედეგი;
XmlElement სფეროებში = ListInfoNode.OwnerDocument.CreateElement(“ViewFields”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, ნულოვანი, სფეროები, “1000000”, ნულოვანი);
// საძიებელი სფეროებში ყოველთვის იწყება რიცხვით ID, მაშინ ;# და მაშინ string წარმომადგენლობა.
// ჩვენ ჩვეულებრივ მხოლოდ დაინტერესებული სახელი, ამიტომ ჩვენ ზოლში ID.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“^ დ ;#”);
foreach (XmlElement საგანს ItemsNode.SelectNodes(“რს:თარიღი / z:რიგი”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (data.DataColumn კუთხეში in result.Columns)
{
თუ (Item.HasAttribute(“ows_” + (სიმებიანი)DisplayNames[col.ColumnName]))
{
სიმებიანი Val = Item.GetAttribute(“ows_” + (სიმებიანი)DisplayNames[col.ColumnName]);
თუ (CheckLookup.IsMatch((სიმებიანი)Val))
{
string = valString არჩევანი სიმებიანი;
Val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// მინიჭების string to სფეროში, რომელიც მოითხოვს ციფრები ან
// datetime ღირებულებები მინიშნებით კონვერტირება მათ
newRow[ერთად] = Val;
}
}
result.Rows.Add(newRow);
}
დაბრუნების შედეგი;
}
// შემდეგი ფუნქცია გამოიყენება მისაღებად სახელთა სივრცის
შეტყობინების სტატიკური XmlNamespaceManager _nsmgr;
შეტყობინების სტატიკური XmlNamespaceManager NameSpaceMgr
{
მიღება
{
თუ (_nsmgr == null)
{
_nsmgr = new XmlNamespaceManager(ახალი NameTable());
_nsmgr.AddNamespace(“wss”, “http://schemas.microsoft.com / sharepoint / საპნის /”);
_nsmgr.AddNamespace(“s”, “uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882”);
_nsmgr.AddNamespace(“dt”, “uuid:C2F41010-65B3-11d1-A29F-00AA00C14882”);
_nsmgr.AddNamespace(“რს”, “urn:თემეის სქემები-Microsoft-com:rowset”);
_nsmgr.AddNamespace(“სულ”, “#RowsetSchema”);
}
დაბრუნების _nsmgr;
}
}
შეტყობინების ტიპი TypeFromField(XmlElement სფეროში)
{
გადართოთ (field.GetAttribute(“ტიპი”))
{
შემთხვევაში “DateTime”:
დაბრუნების typeof(DateTime);
შემთხვევაში “რიცხვი”:
დაბრუნების typeof(int);
შემთხვევაში “ხმების”:
დაბრუნების typeof(float);
default:
დაბრუნების typeof(სიმებიანი);
}
}