.NET过滤将国家xml与数据库中的国家进行比较

时间:2011-12-10 01:25:40

标签: c# .net ajax

我有一个.net应用程序,它使用countries.xml来填充从ajaxToolkit webservice方法调用的国家/地区下拉列表。该框填充所有国家/地区,随后填充区域然后填充城市。

我只想显示mssql数据库中users表中的国家/地区。有没有办法在不重写所有代码的情况下执行此操作?就像使用比较或其他东西过滤结果一样?

拉​​里

2 个答案:

答案 0 :(得分:0)

我个人会修改Web服务方法来执行以下操作:

Read the distinct list of countries from the users table into an indexable list (i.e. Dictionary).

For each country in the countries file
  if there is an entry in the list of user countries
    add the country to a list of countries to return from the web service method

Return the filtered list of countries

答案 1 :(得分:0)

private static List<Countries> countries = new List<Countries>();

List<Countries> results = countries.FindAll(findCountriesThatAreInDatabase); 

/* the input argument findCountriesThatAreInDatabase is a 
  delegate that checks for the countries that exists in your database. */

理想情况下可能是,

private static bool findCountriesThatAreInDatabase(Countries c)
        {
  //Here you have to check whether the country you are trying 
  //add to the list exists in your database.

       }

有关更多参考,您可以参考msdn http://msdn.microsoft.com/en-us/library/fh1w7y8z.aspx

中的FindAll()

这是我根据你的问题想到的一般答案。