2013-03-01 2 views
0
.

. Я получаю сообщение об ошибке, когда пытаюсь запустить событие после нажатия кнопки, которая находится вне datalist.Коллекция была изменена. Операция перечисления не может выполняться в datalist.

Ошибка для каждого оператора: Коллекция была изменена. Операция перечисления не может выполняться.

protected void btnSaveGrid_Click(object sender, EventArgs e) 
    { 
     foreach (DataListItem item in dlPl.Items) 
     {    

       CommandEventArgs commandArgs = new CommandEventArgs("SaveGrid", btnSaveGrid); 
       DataListCommandEventArgs repeaterArgs = new DataListCommandEventArgs(item,btnSaveGrid, commandArgs); 
       dlPl_ItemCommand(btnSaveGrid, repeaterArgs); 

     } 



     protected void dlPl_ItemCommand(object source, DataListCommandEventArgs e) 
      { 
       if (e.CommandName == "SaveGrid") 
       { 
    //Some work 
    } 

} 

Может мне кто-нибудь помочь?

ответ

0

Вы не можете изменять коллекцию во время ее перечисления. dlPl_ItemCommand изменяет параметры dlPl.Items, которые не разрешены. Если вы перемещаете DataBind вне цикла, он должен работать.

+0

Я попытался поместить внешний цикл, но он показывает ошибку Ошибка \t Имя «повторительArgs» не существует в текущем контексте. –

+0

Попробуйте создать метод, чтобы получить список и связать внутри события – Sajeetharan

Смежные вопросы