2012-07-06 41 views
1

我需要查询SharePoint中可能在将来添加列的列表。 例如,目前我有以下列 姓名,工作,兴趣,地址 我希望能够使用浏览器中的参数动态查询此字符串,所以如果将来添加列,我不必更改代码,但只是参数。 地址可能看起来像这样www.contoso.com/sites/mypage.aspx?property=Interests 和代码的东西本就行:Sharepoint列表动态Linq查询

var SiteParameter = Request.QueryString["property"]; 

var ItemsFromList = from item in ListItems where item[try to put the parameter in here] select item; 

我用SPmetal以获取列表的详细信息,所以如果我按下项目。 Visual Studio2010将返回列表中的列。

回答

0

没有SPMetal,这可能会更容易。

var qy = new SPQuery(); 
qy.Query = 
    "<Where><Eq>" + 
     "<FieldRef Name=`" + siteParameter + "'/>" + 
     // You may have to worry about the type of the field here, too. 
     "<Value Type='Text'>" + desiredValue + "</Value>" + 
    "</Eq></Where>"; 
var itemCollection = myList.GetItems(qy); 
+0

谢谢,还有一个问题,你如何声明myList? – user1498824 2012-07-06 08:22:58

+0

'var myList = myWeb.Lists [“YourListName”]'应该没问题,如果你知道列表存在。 – Rawling 2012-07-06 08:28:30