我正在尝试使用LINQ,以便将其绑定到ASP.NET下拉框。
到目前为止,这是我的LINQ表达式;我刚开始学习它,今天早上才开始接触。
county.DataSource = (from taxUnit in TaxUnits.Descendants("CodeData")
join taxType in TaxTypes.Descendants("CodeData")
on
taxUnit.Attribute("taxuntype").Value
equals
taxType.Attribute("codeid").Value
where taxType.Attribute("taxuntypky").Value == "CO"
select new
{
County = taxUnit.Attribute("desc"),
CodeID = taxUnit.Attribute("codeid")
});
county.DataTextField = "desc";
county.DataValueField = "codeid";
county.DataBind();
最初我试图将它转换为datatable;有人告诉我,实际上可以直接使用LINQ绑定到DropDownList。
<asp:Label AssociatedControlID="county" runat="server">County</asp:Label>
<asp:DropDownList
ID="county"
runat="server" />
到目前为止,当我查看下拉框时,结果是...。根据我从LINQPad获取的信息,我期望
County CodeID
Willow County 1
CP2 TU 2
当前答案唯一的问题是我不知道它是如何工作的,因此我不明白如何将其转换为我想要的。
之前我能够使用一个指向该方法的ObjectDataSource,并为List创建一个模拟以进行数据绑定。
ToArray()
或ToList()
。但是我在最后一句话可能是错误的。 - abatishchev