[英]How to populate an asp listbox with multiple values with LINQ?
我的列表框没有显示数据,只有类数据名称:
XDocument doc = XDocument.Parse(XMLfile);
List<ClassData> data = (from item in doc.Descendants("freq")
where item.Element("ID").Value > 50
orderby item.Element("Time").Value
select new ClassData
{
ID= item.Element("ID").Value,
Name= item.Element("Name").Value,
Age= item.Element("Age").Value,
Time= item.Element("Time").Value
}).ToList<ClassData>();
lstBox.DataSource = data;
lstBox.DataBind();
myclassdata:
public class ClassData
{
public string ID{ get; set; }
public string Name{ get; set; }
public string Age{ get; set; }
public string Time{ get; set; }
}
我在列表框中添加了与我的classData项目名称相同的4个项目...我的结果是:SolutionName.ClassData 32次(结果数)
默认情况下,列表框显示您提供的项目的ToString()
的结果,即您所说的'SolutionName.ClassData'。
要更改此设置,您需要更改列表listBox.DisplayMember = "Name"
的DisplayMember
属性listBox.DisplayMember = "Name"
对于asp.net列表框,它是DataTextField
<asp:DataList ID="dataList" runat="server"
RepeatColumns="1"
RepeatDirection="Horizontal"
RepeatLayout="Table">
<ItemTemplate>
<table border="1" >
<tr>
<td><asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>' Width="50" /></td>
<td><asp:Label ID="Label2" runat="server" Text='<%# Eval("Name") %>' Width="20" /></td>
<td><asp:Label ID="Label3" runat="server" Text='<%# Eval("Age") %>' Width="200" /></td>
<td><asp:Label ID="Label4" runat="server" Text='<%# Eval("Time") %>' Width="200" /></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.