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

所属分类: 网络编程 / ASP.NET 阅读数: 246
收藏 0 赞 0 分享

第一种:前台接收

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title> </title>
  <!-- 引入 ECharts 文件 -->
  <script src="scripts/echarts.common.min.js"></script>
  <script src="scripts/jquery-1.10.2.min.js"></script>
  <script src="scripts/json2.js"></script>
</head>
<body>
<form id="form1" runat="server">

<!-- 为 ECharts 准备一个具备大小(宽高)的Dom -->
<div id="main" style="width:1000px;height:400px;">

</div>

<script type="text/javascript">

    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 + '<br />温度:' + 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);
      }
    });
    
  </script>
</form>
</body>
</html>

第二种:前台接收

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
{
  /// <summary>
  /// getrtchistorydata 的摘要说明
  /// </summary>
  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到前台的两种接收方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

asp.net 虚方法、抽象方法、接口疑问

asp.net 虚方法、抽象方法、接口疑问等说明。
收藏 0 赞 0 分享

c#  操作符?? null coalescing operator

?? "null coalescing" operator 是c#新提供的一个操作符,这个操作符提供的功能是判断左侧的操作数是否是null,如果是则返回结果是右侧的操作数;非null则返回左侧的操作数。
收藏 0 赞 0 分享

.net 反序题目的详细解答第1/2页

在各种答案,以及平时面试过程中,这道题总归会有一些非常典型的错误发生。其中给老赵的感觉也非常有意思,不知其中的“思路”是否如老赵猜测那样。
收藏 0 赞 0 分享

implicitly convert type 'int' to 'short'的原因与解决方法

implicitly convert type 'int' to 'short'的原因与解决方法
收藏 0 赞 0 分享

比较完整的 asp.net 学习流程

好多朋友想学习后台编程语言,但请注意的事,学习后台是个循序渐进的过程,不可能一下就到位,其实不只是asp.net其它的编程语言都需要下面的一些知识。
收藏 0 赞 0 分享

官网 Ext direct包中.NET版的问题

下载了官网的 Ext direct 包进行研究,发现服务器端返回结果存在一点小问题。
收藏 0 赞 0 分享

C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页

C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等),以下就是操作XML的所有方法,相信可以满足很大一部份的使用了。
收藏 0 赞 0 分享

c# 连接字符串数据库服务器端口号 .net状态服务器端口号

正常的数据库连接字符串配置,这是在MSSQL服务器端口是1433(默认)的情况下。
收藏 0 赞 0 分享

ASP.NET 路径问题的解决方法

相对路径和绝对路径在ASP.NET中可以用~/来解决.
收藏 0 赞 0 分享

asp.net TemplateField模板中的Bind方法和Eval方法

在TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现。以下是Bind方法的格式,Eval的格式也是和Bind一样的。 Bind("列的名称","显示的格式文")
收藏 0 赞 0 分享
查看更多