填充asp.net中的列表框控件

时间:2012-07-29 21:54:52

标签: c# asp.net listbox

我有一个代码块,它返回一个雇员对象列表 结果集包含多个员工记录。其中一个要素是EmployeeID 我需要使用EmployeeID填充listview(lstDepartment)。我怎么能这样做?

lstDepartment.DataSource = oCorp.GetEmployeeList(emp);
lstDepartment.DataBind()

3 个答案:

答案 0 :(得分:3)

您还必须指定:

     lstDepartment.DataSource = oCorp.GetEmployeeList(emp);
     lstDepartment.DataTextField = "EmployeeID";
     lstDepartment.DataValueField = "EmployeeID";
     lstDepartment.DataBind()

答案 1 :(得分:1)

一种方法是使用匿名类型:

lstDepartment.DataSource = oCorp.GetEmployeeList(emp)
                                .Select(emp => new { emp.EmployeeID });
lstDepartment.DataBind();

修改:但您也可以选择所有列,但只覆盖一列。 ListView不是ListBoxDropDownList。仅显示您使用的内容。所以如果你是ItemTemplate看起来像:

<ItemTemplate>
  <tr runat="server">
    <td>
      <asp:Label ID="LblEmployeeID" runat="server" Text='<%# Eval("EmployeeID") %>' />
    </td>
  </tr>

...只显示EmployeeID,无论你的DataSource中有什么问题。

答案 2 :(得分:1)

您可以在ListView ItemTemplate中提及要显示的内容

<asp:ListView ID="lstDepartment" runat="server">
   <ItemTemplate>
     <p>  <%#Eval("EmployeeID") %> </p>
   </ItemTemplate>
</asp:ListView>