Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用CAML查询从SharePoint列表中获取最后一项_Sharepoint_Api_Sharepoint Designer_Objectdatasource - Fatal编程技术网

使用CAML查询从SharePoint列表中获取最后一项

使用CAML查询从SharePoint列表中获取最后一项,sharepoint,api,sharepoint-designer,objectdatasource,Sharepoint,Api,Sharepoint Designer,Objectdatasource,我想从SharePoint列表中获取最后一项,但由于我是SharePoint新手,我真的很难完成任何事情。首先,这个CAMLAPI很难找到,然后我也没有任何编程经验 无论如何,这是我在ASPX页面中的逻辑。我想显示最后一项: <html> <head> <meta name="WebPartPageExpansion" content="full" /> <meta name="ProgId" content="SharePoint.W

我想从SharePoint列表中获取最后一项,但由于我是SharePoint新手,我真的很难完成任何事情。首先,这个CAMLAPI很难找到,然后我也没有任何编程经验

无论如何,这是我在ASPX页面中的逻辑。我想显示最后一项:

<html>

<head>
    <meta name="WebPartPageExpansion" content="full" />
    <meta name="ProgId" content="SharePoint.WebPartPage.Document" />

    <script runat="server" type="">
        protected void sevak(object sender, EventArgs e)
        string lastitem;
        try {
            using (SPSite objsite = new SPSite()) {
                using (SPWeb objWeb = objSite.OpenWeb(....)) {
                    SPList objList = objWeb.Lists["List"];
                    SPQuery objQuery = new SPQuery();
                    objQuery.Query = "<OrderBy><FieldRef Name='Number' Ascending='False'/></OrderBy><RowLimit>1</RowLimit>";
                    objQuery.Folder = objList.RootFolder;
                    SPListItemCollection colItems = objList.GetItems(objQuery);

                    if (colItems.Count>0) {
                        lastitem=colItems[0];
                    }
                }
            }
        }
        catch (Exception ex) { }

        return lastitem;
   </script>


   <SharePoint:CssLink runat="server"></SharePoint:CssLink>
   <SharePoint:ScriptLink runat="server" language="javascript" name="core.js"></SharePoint:ScriptLink>
</head>
<body>
    <form id="form1" runat="server">
    <h1>T-Site</h1>

    <p>
        <asp:Button runat="server" Text="Submit" id="Button1" OnClick="sevak" OnClientClick="javascript:window:alert('Your Request for a document number has been received');"></asp:Button>
    </p>
</body>
</form>
</html>

受保护的void sevak(对象发送方,事件参数e)
字符串最后一项;
试一试{
使用(SPSite objsite=new SPSite()){
使用(SPWeb objWeb=objSite.OpenWeb(..){
SPList objList=objWeb.Lists[“List”];
SPQuery objQuery=新建SPQuery();
objQuery.Query=“1”;
objQuery.Folder=objList.RootFolder;
SPListItemCollection colItems=objList.GetItems(objQuery);
如果(colItems.Count>0){
lastitem=colItems[0];
}
}
}
}
捕获(例外情况除外){}
返回最后一项;
日本茑屋


对于CAML查询,请使用U2U CAML查询生成器工具它非常易于使用

其次,您必须在安装了SharePoint的服务器上执行对象模型代码。逻辑是正确的,但我发现您的语法存在一些问题

有关语法,请参阅本文的帮助

请根据我对代码示例所做的编辑,重新检查页面的语法。例如,筑巢就离我们太远了。我不知道你的
受保护的void sendak
线路是怎么回事;事实上,它是无效的。您是否正在尝试编写事件处理程序?如果是这样,它需要使用大括号打开/关闭,并且应该围绕脚本的其余部分。否则,请将其移除。