急!急!急!web服务的问题
我做了一个web服务 
 代码如下: 
 web服务中Servicearea类中 
 [WebMethod(Description   =   ( "获取省份或直辖市中的市 "))] 
             public   DataTable   getcity(string   pid) 
             { 
                         OPDB   ob   =   new   OPDB(); 
                         string   sql   =    "select   id,shi,sheng   from   city   where   sheng= ' "+pid+ " ' "; 
                         return   ob.ds(sql,    "WebSvsDbCon "); 
             } 
 自定义类中的ds为public   DataTable   ds(string   que,   string   cs) 
                         {//返回一个装载了SQL制定留言的数据表, 
                                     open(cs); 
                                     SqlDataAdapter   sda   =   new   SqlDataAdapter(); 
                                     sda.SelectCommand   =   new   SqlCommand(que,   SqlConn); 
                                     DataSet   ds   =   new   DataSet(); 
                                     sda.Fill(ds,    "thc "); 
                                     return   ds.Tables[ "thc "]; 
                         } 
 引用web的名称为aa: 
                         aa.Servicearea   ss   =   new   Servicearea(); 
                         DropDownList1.DataSource   =   ss.getprovice(); 
                         DropDownList1.DataTextField   =    "sheng "; 
                         DropDownList1.DataValueField   =    "id "; 
                         DropDownList1.DataBind(); 
 错误信息: 
 数据源的类型无效。它必须是   IListSource、IEnumerable   或   IDataSource。    
------解决方案--------------------如果你用的是vs03的话,建议你用DataSet作为返回类型
------解决方案--------------------public DataTable getcity(string pid)   
 应该返回DataSet吧, 
 用DropDownList1.DataMember =  "表名 " 
 你把他改一下,要是怕网络传得慢 
 DropDownList1.DataMember = ss.getprovice(); 
 再不行,就在传回后,重新做一个DATASET试试 
 再不行,没则了   
 问题肯定出在你的绑定设置那 
------解决方案--------------------再补充一句,2003里面的DATATABLE没实现做数据源的接口,好像 
 但2005里,我记得在绑定gridview的时候,DATASOURCE又必须指定到DATATABLE一级