[英]ASP.NET web control drop down list object population
我正在使用ASP.NET創建帶有可變控件的動態Web表單。 我要創建的某些控件是下拉列表,我希望使用某些自定義子項來填充它們。 我怎樣才能做到這一點? 我無法使用子項本身填充ddl(它們不是字符串類型),但是也無法使用字符串成員變量(subitem.displayName)填充ddl而不會丟失整個子項。 這是一些代碼供參考:
public class SubItem
{
string displayName;
string value;
...
}
首先,我嘗試將對象直接添加到ddl中:
DropDownList x;
x.ItemType = SubItem; //error "type not valid in this context"
x.Add(subitem); // error
理想情況下,我可以通過在ddl中顯示subitem.name來解決此問題,但是要解析一個子項的功能,以便在事件處理程序中可以訪問該子項的所有屬性。 是否存在類似以下內容的東西?
DropDownList x;
x.ItemType = SubItem;
x.DisplayType = SubItem.displayName;
x.Items.Add(subitem);
提前致謝!
您只能綁定具有和IEnumerable
接口的DropDownList。 像列表或數組。
//create a new list of SubItem
List<SubItem> SubItems = new List<SubItem>();
//add some data
SubItems.Add(new SubItem() { displayName = "Test 1", value = "1" });
SubItems.Add(new SubItem() { displayName = "Test 2", value = "2" });
SubItems.Add(new SubItem() { displayName = "Test 3", value = "3" });
//create the dropdownlist and bind the data
DropDownList x = new DropDownList();
x.DataSource = SubItems;
x.DataValueField = "value";
x.DataTextField = "displayName";
x.DataBind();
//put the dropdownlist on the page
PlaceHolder1.Controls.Add(x);
同班
public class SubItem
{
public string value { get; set; }
public string displayName { get; set; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.