ASP.NET C # Фильтр данных из мыльной службы - PullRequest
1 голос
/ 30 ноября 2011

У меня есть сервис Soap, который я добавил в свой проект .NET через Service Reference.

problemReporting.soapClient s = new problemReporting.soapClient();
problemReporting.NullRequest nr = new NullRequest();
problemReporting.ProblemDescription[] getDescList = s.getProblemDescriptionList(nr);

if (!IsPostBack)
{
      rbProblemList.DataSource = getDescList;
      rbProblemList.DataTextField = "description";
      rbProblemList.DataValueField = "code";
      rbProblemList.DataBind();
}

Возвращает DropDownList из 23 элементов. (Этот список может увеличиться в будущем.) Сервис возвращает массив объектов, каждый из которых содержит категорию, код и описание.

Как я могу создать отдельный метод, который будет возвращать ТОЛЬКО 4 категории, которые существуют в этом массиве? Я не могу найти примеры того, как создать метод, который будет фильтровать данные из мыльного сервиса.

Заранее благодарю за любую помощь.

1 Ответ

0 голосов
/ 30 ноября 2011

Это в основном тот же код из другого вопроса, который вы задали:

Фильтр DropDownList ASP.NET C # на основе определенной категории элементов из службы мыла

problemReporting.soapClient s = new problemReporting.soapClient();
problemReporting.NullRequest nr = new NullRequest();
problemReporting.ProblemDescription[] getDescList = s.getProblemDescriptionList(nr);

List<string> categories = new List<string>();
categories.Add("Category1");
categories.Add("Category2");
categories.Add("Category3");

var filteredResults = FilterCategories(categories, getDescList);

if (!IsPostBack)
{
      rbProblemList.DataSource = filteredResults;
      rbProblemList.DataTextField = "description";
      rbProblemList.DataValueField = "code";
      rbProblemList.DataBind();
}

public ProblemDescription[] FilterCategories(List<string> categories, ProblemDescription[] data )
{ 
    var cats = from desc in data 
      where categories.Contains(desc.category)
      select desc;

    return cats;
}
...