0

查询:

<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, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register tagprefix="SharePoint" namespace="Microsoft.SharePoint.WebControls" assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, 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>
4

1 回答 1

4

我认为问题是字段引用“文档类型”:

  1. 元素需要引用字段的FieldRef内部名称。如果“文档类型”列是通过 UI 创建的,则该列的内部名称为“Document_x0020_Type”。

  2. 您指定LookupId="True"了哪个会导致针对查找字段的 id 进行查找,但您提供了一个文本值。根据您的字段类型,您应该提供文档类型的数字 ID 或省略LookupId="True"部分以查询查找字段的文本。

于 2011-05-28T08:36:43.737 回答