【发布时间】:2014-06-06 16:24:11
【问题描述】:
简而言之:转发器中的所有下拉列表都更新为相同的值。
我有一个中继器。每个项目都包含另一个中继器,它显示多个用户及其费用和首选货币。
在repeater_ItemDataBound 事件中,我找到并填充了txtcurrency,图像显示这些因用户而异。
我还填充了 ddlPreferredCurrency 下拉列表,然后选择适当的值。
问题是 - 无论最后一个用户的货币设置为什么,所有 DropDownLists 都会更改为该值,而不仅仅是当前值。
奇怪的是,货币 TextBoxes 保存它们各自的值,但每个 DropDownList 的 ListItems 似乎是相关的......帮助??
这是我的repeater_ItemDataBound 活动:
protected void rptrLinkedUsers_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
lnk_User_Pxx lup = (lnk_User_Pxx)e.Item.DataItem;
DropDownList ddlPreferredCurrency = (DropDownList)e.Item.FindControl("ddlPreferredCurrency");
foreach (ListItem li in countries)
{
ListItem ddli = new ListItem();
ddli.Text = li.Text;
ddli.Value = li.Value;
ddlPreferredCurrency.Items.Add(li);
}
if (lup != null && lup.PreferredCurrencyID != null && lup.PreferredCurrencyID != 0)
{
ListItem selectedListItem = ddlPreferredCurrency.Items.FindByValue(lup.PreferredCurrencyID.ToString());
ddlPreferredCurrency.ClearSelection();
selectedListItem.Selected = true;
}
}
}
【问题讨论】:
标签: c# asp.net drop-down-menu repeater