谁能告诉我此caml查询代码出了什么问题?

问题描述

| 查询:
<Where>
  <Eq>
    <FieldRef Name=\'Document Type\' LookupId=\'True\' />            
    <Value Type=\'Text\'>Standards(STA)</Value>
  </Eq>
</Where>
<OrderBy>
 <FieldRef Name=\'Number\' Ascending=\'False\'/>
</OrderBy>
<RowLimit>1</RowLimit>\"
代码上下文:
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">

<%@ Import Namespace=\"System.IO\" %>
<%@ Import Namespace=\"Microsoft.SharePoint\" %>
<%@ Page Language=\"C#\" inherits=\"Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c\" %>
<%@ Register tagprefix=\"WebPartPages\" namespace=\"Microsoft.SharePoint.WebPartPages\" assembly=\"Microsoft.SharePoint,PublicKeyToken=71e9bce111e9429c\" %>
<%@ Register tagprefix=\"SharePoint\" namespace=\"Microsoft.SharePoint.WebControls\" assembly=\"Microsoft.SharePoint,PublicKeyToken=71e9bce111e9429c\" %>
<html>

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


<h1>T-Site</h1>

 <script runat=\"server\" type=\"\">            

protected void sevak(object sender,EventArgs e)

string lastitem;
try
{

  using (SPSite objsite = new SPSite(\"http://...\"))
  {
    using (SPWeb objWeb = objSite.OpenWeb())
    {
      SPList objList = objWeb.Lists[\"....\"];
      SPQuery objQuery = new SPQuery();

      objQuery.Query = \"<Where><Eq><FieldRef Name=\'Document Type\' LookupId=\'True\' />            <Value Type=\'Text\'>Standards(STA)</Value></Eq></Where><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);
      }
      else 
      { 
        Label1.Text=\"noItem\";
      }
    }
  }
}
catch (Exception ex)
{
  return ex;
}

Label1.Text= \"lastitem\";
<SharePoint:CssLink runat=\"server\"></SharePoint:CssLink>
<SharePoint:ScriptLink runat=\"server\" language=\"javascript\" name=\"core.js\">

</SharePoint:ScriptLink>

<body>

<form id=\"form1\" runat=\"server\" action=\"Page-2.aspx\">
<p>


<asp:Button runat=\"server\" Text=\"Submit\" id=\"Button1\" OnClick=\"sevak\" ></asp:Button>


</p>
<p><asp:Label runat=\"server\" id=\"Label1\"></asp:Label></p>
</form>
</body>


</html>
    

解决方法

        我认为问题是字段引用\“ Document Type \”: “ 3”元素需要引用字段的内部名称。如果列“文档类型”是通过UI创建的,则此列的内部名称为“ Document_x0020_Type \”。 您指定了“ 4”,这会导致对查找字段的ID进行查找,但是您提供了一个文本值。根据您的字段类型,您应该提供文档类型的数字ID或省略“ 4”部分以查询查找字段的文本。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...