2013-02-20 2 views
0

У меня в настоящее время немного кошмар с петлей foreach. Вкратце, то, что я пытаюсь сделать, это разделить строку, а затем отфильтровать эти данные на основе строки. Затем мне нужно привязать указанные данные к управлению фильтром, расположенным дальше по линии. До сих пор, у меня есть следующий кодПередача данных

if (Session["Contract"] != null) 
     { 
      string[] contract = Session["Contract"].ToString().Split(','); 
      foreach (string i in contract) 
      { 
       if (i.ToString() != "") 
       { 
        data = data.Where(x => x.Term.Trim().ToUpper().Contains(i.ToString().Trim().ToUpper())); 
       } 
      } 
     } 

     LV_Jobs.DataSource = data; 
     LV_Jobs.DataBind(); 

Теперь, когда циклический, фильтрация работает нормально, но как только вы закончите с одним элементом, переменные данные очищаются? Очевидно, мне нужно передать «данные» из цикла foreach. Может ли кто-нибудь указать мне, как это сделать?

+1

что именно вы пытаетесь здесь сделать? Что такое 'данные'? Каков его тип? Имеет ли значение значение до этого кода? Каков ваш ожидаемый результат? Можете ли вы описать, что вы пытаетесь сделать на простом английском? – spender

ответ

0

Сбрасывается data каждый раз, когда цикл повторяется. Попробуйте (в зависимости от того, что data)

 var filteredData = new List<string>(); 
     if (Session["Contract"] != null) 
     { 
      filteredData = Session["Contract"].ToString().Split(',').Join(
           data, 
           i => i.ToString().Trim().ToUpper(), 
           x => x.Term.Trim().ToUpper(), 
           (i, x) => x); 
     } 

     LV_Jobs.DataSource = filteredData; 
     LV_Jobs.DataBind(); 
0

Просто введите необходимые данные в список результатов или любую другую структуру данных, объявленную за пределами области for/foreach.

0

Ваша data переменная не очищается. Вместо этого в последней итерации foreach, где i.ToString() != "", ваше состояние Where() равно не верно. Таким образом, data становится пустым.

Вы можете break из foreach, когда нашли то, что искали.

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