通过UpdatePanel更新时,选择列表框中的所有项目

时间:2014-02-04 13:39:42

标签: asp.net

protected void Page_Load(object sender, EventArgs e)
{
        if (ScriptManager.GetCurrent(this).IsInAsyncPostBack)
        {
            string id = ScriptManager.GetCurrent(Page).AsyncPostBackSourceElementID;

            if (id == cboGroup.UniqueID)
            {
                foreach (ListItem i in lstTest.Items)
                    i.Selected = true;
            }
        }
}

当我的cboGroup导致我的UpdatePanel刷新其中包含lstTest并且其中的数据被更新时,此代码运行,但它不会全部选择它们。当我的UpdatePanel完成刷新列表框中刷新的所有元素后,如何才能这样做?

[edit]我现在注意到,此时列表框中的内容是先前的值,而不是我需要的新值。所以这似乎是在列表框填充数据之前(通过SqlDataSource),所以它可能会覆盖它。

1 个答案:

答案 0 :(得分:0)

我能够将我的选择代码放在列表框的DataBound()事件中。

    protected void lstTest_DataBound(object sender, EventArgs e)
    {
        SelectAllTest();
    }