上次总结使用DataTable返回多个值,后来看到一个小哥的返回方式和我的有所不同,便留意了一下。原来他构造一个Class,而我构造的是一个Table。
首先说说两者的区别:拿student举例,student1有学号,姓名,成绩,student2,student3...都有该属性。如果想返回多个student的信息,那么就可以构造一个datatable来进行返回,如果只需要返回student1的信息则构造一个Class就可以解决。
接下来看代码:
在script中写一个ajax用于接收返回来的数据,代码如下。
<script type="text/javascript"> $(function () { $.ajax({ type:"post", url:"ashx/PersonnelRegistrationForm.ashx", success:function(data){ var datainfo = $.parseJSON(data); alert(datainfo.OrderNo); alert(datainfo.RowGuid); alert(datainfo.ResultNum); } }) }) </script>
然后在名为PersonnelRegistratinForm一般处理程序进行数据处理,然后构造所需要的值将其返回。
public void ProcessRequest(HttpContext context) { ResultData r = new ResultData(); r.OrderNo = "WP201711200001"; r.RowGuid = "{ba16ad7e-9b64-4d77-bba0-b32a69294ae5}"; r.ResultNum = 1; string json = SerializerHelper.ToJsonString(r); context.Response.Write(json); context.Response.End(); }
构造名为ResultData的class
public class ResultData { public string OrderNo { get; set; } public string RowGuid { get; set; } public int ResultNum { get; set; } }