ຕື່ມການ webreference ເພື່ອ Lists.asmx ໃນເວັບໄຊ Page:.
http://localhost / _vti_bin / Lists.asmx
(SharePoint URL Directory virtual / _vti_bin / Lists.asmx
ຂຽນວິທີການດັ່ງຕໍ່ໄປນີ້ຢູ່ໃນເວັບເຊີຂອງທ່ານ.
ສ່ວນຕົວ data.DataTable GetDataTableFromWSS(bool onlySchema)
{
string WssSiteUrl = http://192.168.111.21;
string WssSiteUrl = ConfigurationSettings.AppSettings[“WssSiteUrl”];
WssSite.Lists ລາຍ = WssSite.Lists ໃຫມ່();
lists.Url = WssSiteUrl + “_vti_bin / Lists.asmx”;
lists.Credentials = System.Net.CredentialCache.DefaultCredentials;
ຄວາມຈິງ lists.PreAuthenticate =;
//ທ່ານມີຜ່ານຊື່ໃນທີ່ນີ້
string CommandText = “ຂໍ້ມູນພະນັກງານ”;
XmlNode ListCollectionNode = lists.GetListCollection();
XmlElement ຊີ = (XmlElement)ListCollectionNode.SelectSingleNode(String.Format(“wss:ບັນຊີ[@ Title = '{0}']”, CommandText), NameSpaceMgr);
ຖ້າຫາກວ່າ (null ບັນຊີລາຍຊື່ ==)
{
ຖິ້ມ ArgumentException ໃຫມ່(String.Format(“ບັນຊີລາຍຊື່ {0} ບໍ່ສາມາດພົບເຫັນຢູ່ໃນເວັບໄຊໄດ້ {1}”, CommandText, WssSiteUrl));
}
string TechListName = List.GetAttribute(“ຊື່”);
ຜົນ data.DataTable = data.DataTable ໃຫມ່(“ບັນຊີລາຍຊື່”);
XmlNode ListInfoNode = lists.GetList(TechListName);
System.Text.StringBuilder fieldRefs = System.Text.StringBuilder ໃຫມ່();
DISPLAYNAME System.Collections.Hashtable = System.Collections.Hashtable ໃຫມ່();
foreach (XmlElement ພາກສະຫນາມໃນ ListInfoNode.SelectNodes(“wss:Fields / wss:ມືພາກສະຫນາມ”, NameSpaceMgr))
{
ຖ້າຫາກວ່າ (Field.HasChildNodes)
{
foreach (XmlElement Fld ໃນ Field.SelectNodes(“wss:Fields / 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);
}
}
ອື່ນ
{
string fieldName = Field.GetAttribute(“ຊື່”);
string 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(“Fields ເບິ່ງ”);
fields.InnerXml = fieldRefs.ToString();
XmlNode ItemsNode = lists.GetListItems(TechListName, “”, null, ທົ່ງນາ, “1000000”, null);
// ພື້ນທີ່ຄົ້ນຫາສະເຫມີເລີ່ມຕົ້ນດ້ວຍລະຫັດຕົວເລກ, ຫຼັງຈາກນັ້ນ ;# ແລະຫຼັງຈາກນັ້ນການເປັນຕົວແທນຊ່ອຍແນ່.
// ພວກເຮົາມີຄວາມເປັນປົກກະຕິພຽງແຕ່ມີຄວາມສົນໃຈໃນພຣະນາມ, ດັ່ງນັ້ນພວກເຮົາລອກເອົາລະຫັດ.
System.Text.RegularExpressions.Regex CheckLookup = new System.Text.RegularExpressions.Regex(“ D ;#”);
foreach (Item XmlElement ໃນ ItemsNode.SelectNodes(“rs:ຂໍ້ມູນ / z:ການຕິດຕໍ່ກັນ”, NameSpaceMgr))
{
data.DataRow newRow = result.NewRow();
foreach (col ໃນ result.Columns data.DataColumn)
{
ຖ້າຫາກວ່າ (Item.HasAttribute(“ows_” + (ຊ່ອຍແນ່)DISPLAYNAME[col.ColumnName]))
{
string val = Item.GetAttribute(“ows_” + (ຊ່ອຍແນ່)DISPLAYNAME[col.ColumnName]);
ຖ້າຫາກວ່າ (CheckLookup.IsMatch((ຊ່ອຍແນ່)ຊົ່ວໂມງ))
{
string valString = val ເປັນ String;
val = valString.Substring(valString.IndexOf(“#”) + 1);
}
// ການມອບຫມາຍສາຍໄປຍັງພາກສະຫນາມທີ່ຄາດວ່າຈໍານວນຫຼື
// ຄ່າ datetime implicitly ຈະແປງໃຫ້ເຂົາເຈົ້າ
newRow[ມີ] = H;
}
}
result.Rows.Add(newRow);
}
ຜົນຕອບແທນ;
}
// ການເຮັດວຽກດັ່ງຕໍ່ໄປນີ້ໄດ້ຖືກນໍາໃຊ້ເພື່ອຮັບ Namespaces
ສ່ວນຕົວ _nsmgr XmlNamespaceManager static;
ສ່ວນຕົວ static XmlNamespaceManager NameSpaceMgr
{
ໄດ້ຮັບການ
{
ຖ້າຫາກວ່າ (null _nsmgr ==)
{
_nsmgr = XmlNamespaceManager ໃຫມ່(ໃຫມ່ NameTable());
_nsmgr.AddNamespace(“wss”, “http://schemas.microsoft.com/sharepoint/soap/”);
_nsmgr.AddNamespace(“s”, “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(“ຈາກ”, “#RowsetSchema”);
}
ກັບຄືນ _nsmgr;
}
}
TypeFromField ປະເພດເອກະຊົນ(ພາກສະຫນາມ XmlElement)
{
ສະຫຼັບ (field.GetAttribute(“ປະເພດ”))
{
ກໍລະນີ “DateTime”:
ກັບຄືນ typeof(DateTime);
ກໍລະນີ “ຈໍານວນເຕັມ”:
ກັບຄືນ typeof(int);
ກໍລະນີ “ຈໍານວນ”:
ກັບຄືນ typeof(ທີ່ເລື່ອນໄດ້);
ໃນຕອນຕົ້ນ:
ກັບຄືນ typeof(ຊ່ອຍແນ່);
}
}