【发布时间】:2010-11-28 20:29:51
【问题描述】:
这是Populating DropDownList inside Repeater not working 的后续报道。
我正在中继器中添加一个下拉列表。现在我需要设置选定的值,但说起来容易做起来难……
这是我的代码:
protected void criteriaScore_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// This event is raised for the header, the footer, separators, and items.
// Execute the following logic for Items and Alternating Items.
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("ddlRating");
DataRowView drw = (DataRowView)e.Item.DataItem;
for (int i = 1; i < 6; i++)
{
ddl.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddl.DataBind(); // <- Not sure if this is needed here.
ddl.SelectedValue = drw.Row["lvl"].ToString();
}
}
drw.Row["lvl"].ToString() 是一个介于 1 -5 之间的值。
我已经尝试设置 SelectedValue 和 SelectedIndex。
我也试过
ddl.SelectedValue = Convert.ToString(ddl.Items.FindByText(drw.Row["lvl"].ToString()).Value) ;
我的想法已经不多了。
【问题讨论】:
标签: c# .net asp.net data-binding drop-down-menu