首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

急web服务的有关问题

2012-01-12 
急!急!急!web服务的问题我做了一个web服务代码如下:web服务中Servicearea类中[WebMethod(Description(

急!急!急!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一级

热点排行