2014-02-04 1 views
0
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 закончит обновлять все элементы окна списка, которые он обновил, выбрали?Выберите все элементы в ListBox при обновлении через UpdatePanel

[прав.] Этимология Это болванка статьи. Теперь я вижу, что на данный момент, что в списке, это предыдущие значения, а не новые значения, которые мне нужны. Таким образом, это похоже на то, что список заполнен данными (через SqlDataSource), поэтому, вероятно, это будет переписывать.

+0

Является ли 'lstTest' дочерним элементом' UpdatePanel'? –

+0

Да, lstTest находится внутри шаблона содержимого UpdatePanel. Выбор чего-либо из комбинированного окна запускает обновление UpdatePanel. – user441521

+0

Что такое «UpdateMode»? Сделайте его «Условным» и используйте 'UpdatePanel1.Update()', чтобы обновить его с помощью codebehind. –

ответ

0

Я смог поместить свой код выбора в событие DataBound() окна списка.

protected void lstTest_DataBound(object sender, EventArgs e) 
    { 
     SelectAllTest(); 
    } 
Смежные вопросы