如何解决谁能告诉我此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”部分以查询查找字段的文本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。