aspx后台传递Json到前台的两种接收方法推荐

学习笔记 2021/11/08 .NET

第一种:前台接收

dataType: "json",
 success: function (data)
 {
	var varReceiver = data;
 }
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="echart2.aspx.cs" Inherits="RTC.echart2" %>






   
  
  
  
  







    var varAxis;     var varSeries;     //var varRtcNO = $("#txtHid").val();     var varRtcNO = "35000002818";     var jdata;     var myChart = echarts.init(document.getElementById(\'main\'));     // 显示标题,图例和空的坐标轴     myChart.setOption({       title: {         text: \'温度曲线图\'       },       tooltip: {         trigger: \'axis\',         axisPointer: {           animation: false         },         formatter: function (params) {           return params[0].name + \'温度:\' + params[0].value + \'°C\';         }       },       legend: {         data: [\'温度\']       },       xAxis: {         data: []       },       yAxis: {         axisLabel: {           formatter: \'{value} °C\'         },         min: 18,         max:30       },       series: [{         name: \'温度\',         type: \'line\',         smooth: true,         data: []       }]     });     // 异步加载数据     $.ajax({       type: "post",       url: "getrtchistorydata.ashx?rtcno=" + varRtcNO,       dataType: "json",       success: function (data) {         var varReceiver = data;         //var varReceiver = jQuery.parseJSON(data);         var varAxis=new Array() ;         var varSeries = new Array(varReceiver.Count[0].total);                  for (var i = 0; i < varReceiver.Count[0].total; i++) {           varAxis.push(varReceiver.Rows[i].RecordTime);           varSeries[i] = varReceiver.Rows[i].RoomTemp;         }         // 填入数据         myChart.setOption({           xAxis: {             data: varAxis           },           series: [{             //根据名字对应到相应的系列             name: \'温度\',             data: varSeries           }]         });       },       error: function (XMLHttpRequest, textStatus, errorThrown) {         alert(errorThrown);       }     });        

第二种:前台接收

dataType: "text",
        success: function (data) {
          //var varReceiver = data;
          var varReceiver = jQuery.parseJSON(data);
。。。。。
}

两者统一的后台 一般处理程序ashx:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;

namespace RTC
{
  /// 
  /// getrtchistorydata 的摘要说明
  /// 
  public class getrtchistorydata : IHttpHandler
  {
    public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "text/plain";

      string strRTCNo = context.Request.QueryString["rtcno"].ToString();

      SqlConnection con = new SqlConnection("server=192.168.0.222;uid=sa;pwd=hiwits;database=CeShi_QingDao;Max Pool Size=2048;");
      SqlCommand cmd = new SqlCommand("select RtcNO,RoomTemp,InstallPlace,convert(varchar,RecordTime,120) as RecordTime,systime from RTCHistory where RtcNO=\'" + strRTCNo + "\' order by InstallPlace,RecordTime", con);
      SqlDataAdapter da = new SqlDataAdapter(cmd);
      DataSet ds = new DataSet();
      da.Fill(ds);

      string stbList = "";
      stbList = "{\\"Rows\\":[";
      foreach (DataRow dr in ds.Tables[0].Rows)
      {
        stbList = stbList + "{ \\"RecordTime\\":\\"" + dr[3].ToString() + "\\",";
        stbList = stbList + " \\"RoomTemp\\":\\"" + dr[1].ToString() + "\\"},";
      }
      stbList = stbList.Substring(0, stbList.Length - 1);//去掉最后的一个逗号

      

      stbList = stbList + "],"; 
      stbList = stbList + "\\"Count\\":[{\\"total\\":" + ds.Tables[0].Rows .Count+ "}]";//用来记录一共返回了几条数据记录
      
      stbList = stbList + "}";

      context.Response.Write(stbList.ToString());
    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }

    public void RetrunHistoryData()
    {


    }
  }
}

以上这篇aspx后台传递Json到前台的两种接收方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考。

本文地址:https://www.stayed.cn/item/345

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。

我的标签

随笔档案