2009-08-13 76 views
2

我有一个像这样访问SharePoint列表SharePoint列表的下拉列表:数据绑定使用LINQ

SPList countries = site.RootWeb.Lists["Countries"]; 

列表中有COUNTRYCODE列,并使用LINQ我怎么能数据绑定这是一个国家或地区名称列

作为一个下拉数据源 ,以便“值”为“国家代码”,“文本”为“国家名称”

回答

3

如果你想使用LINQ,而不是GetDataTable()

SPList list = site.RootWeb.Lists["Countries"]; 
var countries = from SPListItem li in list.Items 
       select new { 
        CountryName = li["CountryName"], 
        CountryCode = li["CountryCode"] 
       }; 

ddl.DataSource = countries; 
ddl.DataTextField="CountryName"; 
ddl.DataValueField="CountryCode"; 
ddl.DataBind(); 
+1

尼斯明确使用在网站上使用这个匿名类型 – 2009-08-14 08:12:02

+0

的我正在工作上,非常有帮助! – 2013-01-03 20:21:30

1

不需要您需要使用LINQ,因此它是直接可能的。假设你的DropDownList名称是DDL这里是代码

DataTable dt = countries.Items.GetDataTable(); 
ddl.DataTextField="Countryame"; 
ddl.DataValueField="CountryCode"; 
ddl.DataSource=dt; 
ddl.DataBind();