我需要在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。
答案 0 :(得分:2)
您需要添加以下内容:
ddl_spList.DataBind();
您重新绑定ListView_AllTickets
,但这是父对象并且已经被绑定(因此您使用此方法处理的事件)。这是一个错字吗?
改为绑定ddl_spList
。