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