ฉันได้ทำงานวิจัยบางบุคคลวันนี้รอบบริการเว็บ list.asmx ให้เป็นส่วนหนึ่งของ SharePoint 2010 (และรุ่นก่อนหน้า). เธอได้รับในรายการที่โฟลเดอร์ราก (รวมทั้งชื่อของ sub-folders), แต่ไม่ได้รับสินค้าใน sub-folders ไม่บางอย่างรอบคอบในการ internets และคำถามทั่วไปอย่างแปลกใจ ยัง, ฉันไม่สามารถได้รับคำตอบสำหรับคำถามที่วิดี, "ถ้ารู้ว่าโฟลเดอร์, ฉันรับสินค้าในโฟลเดอร์?” จะซื่อสัตย์, ไม่ได้พยายามทั้งหมดที่หนักเนื่องจากผมได้ต้องการรูปหนึ่งนี้ออกด้วยตัวเองสำหรับในขณะ .
การตั้งค่านี้, ไซต์มีชื่อว่า "สถานการณ์ของบล็อก" และรายการแบบกำหนดเองที่ชื่อว่า "กำหนดเองรายการกับโฟลเดอร์ย่อย" สร้าง สร้างโฟลเดอร์ชื่อแล้ว:
เพิ่มเพียงไม่กี่รายการไปที่โฟลเดอร์ "ปี 2549" นี่คือสิ่งที่มีลักษณะเหมือน:
เพื่อนของฉันไม่ได้เขียน C# โค้ด แต่แทนที่จะ ใช้ Java, ดังนั้น ละครซองจดหมายถูกอะไรเธอจริง ๆ ต้อง รับที่, ฉันเขียนบิตของ jQuery และใช้ fiddler รับสนทนา HTTP ที่แท้จริงแล้ว.
นี่คือ jQuery เกี่ยวข้อง (คัดลอกรหัสลงด้านล่างหากคุณต้องการคัดลอก/วาง):
พวกเขาแรกคีย์คือการ รวมทั้งสองแบบ <queryOptions> และ <QueryOptions> โหนด ปุ่มที่สองคือที่ <โฟลเดอร์> โหนดคือ URL ที่ไคลเอ็นต์เข้า.
อาจจะมีวิธีอื่น ๆ ที่ได้รับนี้, แต่นี้ทำงานได้ดีสำหรับฉันเมื่อใช้ jQuery.
นี่คือละครซองจดหมายสำหรับด้านบน:
<soapenv:Xmlns ซองจดหมาย:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>
<soapenv:เนื้อความ>
<GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’>
<listName>รายการที่กำหนดเองกับโฟลเดอร์ย่อย</listName>
<viewFields>
<ViewFields>
<ชื่อ FieldRef =' ชื่อเรื่อง’ />
<ชื่อ FieldRef ='EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<โฟลเดอร์>http://demoserver1/บล็อก รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:เนื้อความ>
</soapenv:ซองจดหมาย>
ตัวอย่างและการอภิปรายรอบนี้มากมายทำให้ฉันเชื่อว่า ทั้งหมดที่ต้องแก้ไข <QueryOptions> และระบุชื่อโฟลเดอร์ สำหรับฉัน, ฉันต้องการทั้งสองตัดนั้นภายใน <queryOptions> ตลอดจนระบุ URL ที่ครบถ้วนสำหรับการ <โฟลเดอร์> โหนด.
นี่คือการตั้งค่าของ jQuery AJAX:
$(เอกสาร).พร้อม(ฟังก์ชัน() {
var soapEnv =
"<soapenv:Xmlns ซองจดหมาย:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
<soapenv:เนื้อความ> \
<GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
<listName>รายการที่กำหนดเองกับโฟลเดอร์ย่อย</listName> \
<viewFields> \
<ViewFields> \
<ชื่อ FieldRef =' ชื่อเรื่อง’ /> \
<ชื่อ FieldRef ='EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<โฟลเดอร์>http://demoserver1/Blogging รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:เนื้อความ> \
</soapenv:ซองจดหมาย>";
</สิ้นสุด>
สมัครสมาชิกไปยังบล็อกของฉัน.
ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin