解决WebService[WebMethod]方法返回一个SqlDataReader出错问题
WebService方法的返回值必须是可序列化的,因为SqlDataReader对象是不可系列化的,所以返回它会出错,现在是你又不想动用DataSet,所以你可以将返回值保存在一个数组当中返回。
WebService服务端 private SqlDataReader GetUserReader(string sUserID) ??????????? SqlConnection cn = GetOpenedConnection(); ??????????? return reader; [WebMethod(Description = "获取单个用户")] ??????????? if (reader.Read()) ??????????? reader.Close(); Web客户端 主要代码: private void BindData() ??????? { ??????????? if (UserID == "") return;
??????????? string[] sUserData = myService.GetUser(ViewState["UserID"].ToString());
??????????? txtName.Text = sUserData[ 1]; ??????????? txtEmail.Text = sUserData[ 4]; ??????????? txtMobile.Text = sUserData[ 5]; ??????????? txtAddress.Text = sUserData[ 6]; ??????? } 定义一个sUserData数组,实例化一个webservice对象myService,调用GetUser()方法。 然后将值赋值给页面上对应的控件。
转自:
http://hi.baidu.com/bmlvy2006/blog/item/2939a31b0415b81c8618bf11.html
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |