WebService返回DataTable问题

今天做项目时,想在WebService中返回DataTable,在单位没成功,看网上有人说datable在.net1.1中是没有序列化的,不能直接在webservice中返回,可以返回dataset.晚上回家又上网找了一下,看到说法基本一致,还有一篇被引用很多的文章说在asp.net2.0中datatable已经被序列化了,但是还需要自己手动写一些代码才能从webservice中返回.我就想一定要写另写代码吗?继续查找,发现有人说必须给datable起名就可以返回了,还可以在调用端手动转换为datatable类型.又做了一遍,完全通过了,不用强制类型转换了.代码如下:

webservice文件中

[WebMethod]
         public DataTable dt()
         {
             DataTable dt = new DataTable("default");
             dt.Columns.Add("id");
             dt.Columns.Add("name");
             for (int i = 0; i < 10; i++)
             {
                 DataRow dr = dt.NewRow();
                 dr["id"] = i.ToString();
                 dr["name"] = "name" + i.ToString();
                 dt.Rows.Add(dr);
             }
             return dt;
         }

调用页面中

WebService1.WebService1 service = new WebService1.WebService1();
             DataTable dt = service.dt();
             gvUser.DataSource = dt;
             gvUser.DataBind();

最关键的是在webservice的方法中为datatable命名,否则就会报错.

WebService返回DataTable问题

时间: 2024-07-28 15:58:56

WebService返回DataTable问题的相关文章

【转】java 访问.net webservice返回的数据集

转自[转的也是转的][http://blog.csdn.net/fox123871/article/details/8637839] 1. 概述 很多正在开发或者打算开发XML Web Services的程序员都问过这样的一个问题:"我的WebService返回的结果是一个DataSet类型的对象,但如果我的客户端不是用.NET写的(因而没有内建的DataSet类型),那该如何调用这个WebService并访问DataSet中的数据呢?". 对于这个问题,首先应该说的是:1)在多种语言

2.Webservice返回json数据并去掉Xml头部。

问题: 我将结果内容用字符串拼接成Json数据并返回的时候,会在结果前面添加xml头部,结果如下. <span style="font-size:14px;"><string xmlns="http://tempuri.org/"> {"data":[{"batchId":"B001","produceOrderId":"", "pr

jQuery的ajax调用webservice返回XML数据传参错误

jQuery的ajax调用webservice返回XML数据传参错误: 有时候使用jquery的ajax调用带有参数的webservice返回XML格式输出的时候,会出现传参错误,当然错误的原因可能是多种多样的,下面就简单介绍一种. 一.错误代码: 1.ajax代码: $.ajax({ type:"post", url:"_service.asmx/getDataFromATable", data:" { tablename: temp }",

JQuery请求WebService返回数据的几种处理方式

打开自己的博客仔细浏览了一番,发现已经好久没有写博客了,由于最近一直比较忙碌懈怠了好多.默默反省三分钟.......言归正传,现在就对最近在学习webservice的过程中遇到的几种类型的问题中我的理解和解决方案.对于webservice大家肯定知道,它是一种使不同站点之间可以相互通信的技术,可以理解为一种接口.一个站点可以通过其它站点提供的webservice接口获得其它站点提供的相应服务.webservice使用起来非常小巧,轻便被很多站点所使用.对于webservice我不做过多说明,we

Entity Framework执行Sql语句返回DataTable

Entity Framework中对外开放了数据库连接字符串,使用的时候可以直接得到这个连接字符串,然后进行相关的操作.如果在使用的过程中,发现Entity Framework中有一些满足不了的需求的话,那么就可以用这个连接字符串,自己写ADO的代码,去数据库进行相关的操作.特别是对于一些复杂的查询,这时候,一般是想直接执行一个Sql语句,返回一个结果集.下面是一个方法,直接返回DataTable. /// <summary> /// EF SQL 语句返回 dataTable /// <

jQuery调用WebService返回JSON数据

相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. 在用jQuery调用WebService的时候,它contentType默认为 以下是WebService服务端的代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.W

WebService传递XML数据 C#DataSet操作XML 解析WebService返回的XML数据

Webservice传递的数据只能是序列化的数据,典型的就是xml数据.   /// <summary>         /// 通过用户名和密码 返回下行数据         /// </summary>         /// <param name="UserName">用户名</param>         /// <param name="UserPwd">密码</param>    

iBatis.Net实现返回DataTable和DataSet对象

如题.要返回一个ADO.NET对象好像没有使用ORM的必要,而且从编程的角度看这样的实现一点也不OO,但是实际的开发场景中还是会碰到这种需求的.下面我就借鉴前人的经验,结合实际的示例,再总结一下.如果您认真看完,应该可以体会得到我的一些尝试,而不是人云亦云的照搬代码. 1.获得DbCommand对象 对于SQL语句,方法如下: /// <summary> /// SQL语?句?,?获?取?DbCommand /// </summary> /// <param name=&qu

WebService 返回json格式和返回xml格式的数据

返回json格式 //using System.Web.Script.Services; [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void HelloWorld() { Context.Response.Clear(); Context.Response.ContentType = "application/json"; Model.User.U