上次總結使用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; }
}