【发布时间】:2012-11-19 16:59:25
【问题描述】:
首先:
- _ddlOptions 是下拉列表
- _selectedOptions 是中继器控件
这只是我最终控制的临时代码。
我想做的是在 !IsPostBack 上获取 _ddlOption 的数据。有一个添加按钮,使用户可以将选定的下拉项目移动到中继器控件。
以下更新Repeater.Items的方式正确吗?我找到了许多使用 DataSource 手动添加/删除元素的解决方案,但这里我的 DataSource 为空,因为我只在 !IsPostBack 上设置它。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
_ddlOptions.DataSource = new[] { 1, 2, 3 };
_ddlOptions.DataBind();
}
}
protected void OnAdd(object sender, EventArgs e)
{
var list = new ArrayList(_selectedOptions.Items);
list.Add(_ddlOptions.SelectedItem);
_ddlOptions.Items.RemoveAt(_ddlOptions.SelectedIndex);
_selectedOptions.DataSource = list;
_selectedOptions.DataBind();
}
【问题讨论】: