当前位置: 移动技术网 > IT编程>开发语言>.net > aspx后台传递Json到前台的两种接收方法推荐

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

ca1827,藏妃殿,曾经心痛狼牙

第一种:前台接收

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到前台的两种接收方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网