下面我可以设置值和文本:
dropListUserImages.DataValueField = "Value";
dropListUserImages.DataTextField = "Text";
dropListUserImages.Items.Add(new ListItem { Text = srText, Value = srValue});
我还想设置额外的属性,比如:
data-imagesrc
data-description
我该怎么做呢?
下面我可以设置值和文本:
dropListUserImages.DataValueField = "Value";
dropListUserImages.DataTextField = "Text";
dropListUserImages.Items.Add(new ListItem { Text = srText, Value = srValue});
我还想设置额外的属性,比如:
data-imagesrc
data-description
我该怎么做呢?
使用:
ListItem test = new ListItem { Text = srText, Value = srValue}
test.Attributes.Add("data-imagesrc", "xxx");
test.Attributes.Add("data-description", "xxx");
dropListUserImages.Items.Add(test);
我曾经遇到过将复杂的对象列表翻译成可在前端读取的值的挑战,我使用了类似下面的逻辑,并发现它非常有用,因为它可以适应各种类型的对象:
//Object can be whichever type as you wish
List<Object> example = new List<Object>();
var listItemExamples = example
.Select(a => new Func<ListItem>(() => {
ListItem item = new ListItem(a.PropropertyA.ToString(), a.PropropertyB.ToString() );
item.Attributes["data-PropropertyC"] = a.PropropertyC.ToString();
return item;
})())
.ToArray();
dropListUserImages.Items.AddRange(listItemExamples);