2

我正在使用 AJAX 向 Sharepoint 发送 Web 服务调用以检索列表项。

我得到结果的第一页:

    "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
        <soapenv:Body> \
             <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
                <listName>ListName</listName> \
                <rowLimit>10</rowLimit> \
                <query> \
                    <Query> \
                        <Where> \
                            <IsNotNull> \
                                <FieldRef Name='Title'/> \
                            </IsNotNull> \
                        </Where> \
                        <OrderBy> \
                           <FieldRef Name='Title' Ascending='True' /> \
                        </OrderBy> \
                    </Query> \
                </query> \
                <queryOptions><QueryOptions/></queryOptions> \
            </GetListItems> \
        </soapenv:Body> \
    </soapenv:Envelope>"

然后我可以使用结果中的书签转到下一页:

    "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
        <soapenv:Body> \
             <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
                <listName>ListName</listName> \
                <rowLimit>10</rowLimit> \
                <query> \
                    <Query> \
                        <Where> \
                            <IsNotNull> \
                                <FieldRef Name='Title'/> \
                            </IsNotNull> \
                        </Where> \
                        <OrderBy> \
                           <FieldRef Name='Title' Ascending='True' /> \
                        </OrderBy> \
                    </Query> \
                </query> \
                <queryOptions><QueryOptions> \
                    <Paging ListItemCollectionPositionNext='" + bookmark + "'" + " /> \
                </QueryOptions></queryOptions> \
            </GetListItems> \
        </soapenv:Body> \
    </soapenv:Envelope>"

其中书签是“Paged=TRUE&p_Title=BlahBlah;p_ID=5”

但是我想跳到第 30 页或最后一页,很明显我没有合适的 p_Title 值。我尝试添加具有各种数字的 PageFirstRow 变量,但它不会改变结果。如果我省略 p_Title,我只会再次获得第一页。更改 p_ID 没有任何作用。

有任何想法吗?

谢谢,乔尔

4

1 回答 1

1

文档表明这是不可能的。

此方法返回的 XML 数据在 rs:Data 元素内包含一个 ListItemCollectionPositionNext 属性,该属性包含支持分页的信息。此字符串包含排序中的字段和分页所需的其他项目的数据。你应该考虑这个字符串是内部的,不要被修改;修改它会产生意想不到的结果。

真的很伤心,但我猜该属性的名称对于它的功能来说是准确的。

于 2010-06-20T22:12:55.673 回答