using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Script.Serialization; using System.Collections; using System.Collections.Generic; using System.Data; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService {
[WebMethod] public String GetDataTable(int id) { System.Data.DataTable dt = new System.Data.DataTable(); System.Data.DataRow dr; dt.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32))); dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String))); dt.Columns.Add(new System.Data.DataColumn("Count", typeof(System.Double))); dt.Columns.Add(new System.Data.DataColumn("CreateDate", typeof(System.DateTime))); dt.PrimaryKey = new System.Data.DataColumn[] { dt.Columns["UserId"] }; System.Random rd = new System.Random(); for (int i = 0; i <6; i++) { dr = dt.NewRow(); dr[0] = i + i; dr[1] = "【孟子E章】" + id.ToString(); dr[2] = System.Math.Ceiling(rd.NextDouble() * 1000); dr[3] = DateTime.Now.AddDays(rd.Next(100) - rd.Next(100)); dt.Rows.Add(dr); }
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); Dictionary<string, object> row = null;
foreach (DataRow dr1 in dt.Rows) { row = new Dictionary<string, object>(); foreach (DataColumn col in dt.Columns) { row.Add(col.ColumnName, dr1[col]); } rows.Add(row); } return serializer.Serialize(rows); } }