Asp.net
將 ListItem 的 ASP.NET 列表數據綁定到 DropDownList 問題
我剛剛遇到這個奇怪的事情,我希望以不同的(邏輯)方式工作,但事實並非如此。它是錯誤還是“功能”?
所以有一個 DropDownList,我在程式碼隱藏中填充了一個 ListItem 列表。根據智能感知提供的文件,每個新的 ListItem 都有 2 個參數,它們對應於它的文本和值:
List<ListItem> users = new List<ListItem>(); foreach (SubscriptionUser su in subscriptionDetails.UserList) { users.Add(new ListItem(su.FirstName + " " + su.LastName, su.EmailAddress)); } ddlPrimaryContact.DataSource = users; ddlPrimaryContact.DataBind();現在,有人可以解釋一下為什麼數據綁定的 DropDownList 的 Text 和 Value 都設置為完全相同(ListItem 文本),而不是使用 ListItem.Text 作為 Text 和 ListItem.Value 作為 Value?
啊!!http://www.freeimagehosting.net/uploads/fe65d0e7d5.jpg
還是我做錯了什麼?
嗨,當數據綁定(到任何東西)時,您需要設置 DropDownList 的 DataTextField 和 DataValueField。在您的情況下,您應該使用以下程式碼
List<ListItem> users = new List<ListItem>(); foreach (SubscriptionUser su in subscriptionDetails.UserList) { users.Add(new ListItem(su.FirstName + " " + su.LastName, su.EmailAddress)); } ddlPrimaryContact.DataTextField = "Text"; ddlPrimaryContact.DataValueField = "Value"; ddlPrimaryContact.DataSource = users; ddlPrimaryContact.DataBind();