我以为我的任务很简单;将“选择...”添加到多个下拉列表中。
但是我没有得到我想要的结果,如果我应该在Gridview编辑模式中使用dataBound或dataBinding事件,我会越来越困惑。
我的代码非常简单;
protected void ActivityList_DataBinding (object sender, System.EventArgs e)
{
DropDownList ddl2 = (DropDownList)(sender);
var act = Eval("myactivity").ToString();
if (act != "") { ddl2.SelectedValue = act; }
ddl2.Items.Insert(0, new ListItem("Select..", "-1"));
}
这将检查是否已经选择了某个值,并且有希望跳转到选择的位置,仍然会向列表中添加一个Select项。
使用dataBound事件的意义在于它会加入我的Select,但如果有的话,则不会转到所选的值。它也会产生奇怪的行为,在选择时跳到我的页面顶部,而不是停留在我正在编辑的行上。
使用dataBinding根本不显示我添加的项目。
欢迎所有建议!
Alex(迷失在CodeLand中)
答案 0 :(得分:0)
在您的DDL中设置AppendDataBoundItems=True
。如果要在代码中调用数据绑定方法,则需要清除项目并在数据绑定之前读取新的listitem。