DataBind或DataBound

时间:2011-05-03 12:35:04

标签: c# visual-studio-2010 gridview .net-4.0

我以为我的任务很简单;将“选择...”添加到多个下拉列表中。

但是我没有得到我想要的结果,如果我应该在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中)

1 个答案:

答案 0 :(得分:0)

在您的DDL中设置AppendDataBoundItems=True。如果要在代码中调用数据绑定方法,则需要清除项目并在数据绑定之前读取新的listitem。