Asp.net DropDownList没有绑定在ListView中

时间:2015-03-19 15:54:56

标签: c# asp.net linq listview data-binding

我需要在ListView的ItemTemplate中绑定Asp.net DropDownList。我正在使用LINQ来查询使用LINQ db上下文的数据,如下所示:

的.cs

protected void ListView_AllTickets_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    DataClassesDataContext db = new DataClassesDataContext();
    DropDownList ddl_spList = (DropDownList)e.Item.FindControl("DropDownList_SpList");

    //Getting all service providers users
    var spusers = (from x in db.User1s where x.usertype == "200" select x);

    ddl_spList.DataSource = spusers;

    ddl_spList.DataTextField = "email";

    ListView_AllTickets.DataBind();

}

的.aspx

<asp:DropDownList ID="DropDownList_SpList" runat="server" class="form-control" ClientIDMode="AutoID"> </asp:DropDownList>

注意我是如何找到控件然后将其绑定到LINQ查询的结果。当我使用调试器时,数据被成功检索并且&#34; email&#34;字段存在于返回的数据中。但是,由于某种原因,即使在DataBind()声明之后,ListView_AllTickets的项目计数也为0。

1 个答案:

答案 0 :(得分:2)

您需要添加以下内容:

 ddl_spList.DataBind();

您重新绑定ListView_AllTickets,但这是父对象并且已经被绑定(因此您使用此方法处理的事件)。这是一个错字吗?

改为绑定ddl_spList