ຕື່ມການ 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(ຊ່ອຍແນ່);
}
}
WssSite object on this code, I am getting error on this, “you are missing a using directive or an assembly reference?” any idea
Hi Bala,
WssSite is an Webreference for the lists.asmx
Cheers,
Uday
ທີ່ດີເລີດ. ຂໍຂອບໃຈທີ່ Uday. Your post saved me lot of time in my migration project 🙂
ຍິນດີຕ້ອນຮັບ Jaya