分享下小白的辛苦历程,明明是小白,要求还挺高,虽然C#里就带了charts插件,非常简单,也有示例,但是总感觉图表没有echarts的好看,所以就想要换成echarts,但是不会后台传输data值到前端,网上找了好多方法,都是利用json的,有的是用到了ashx,弄了几天没弄明白,搁置了一段时间,最近又想起来研究下,看到了一篇文档觉得挺好,不用单独建立ashx文件了,后台直接生成json,前台引用。不过新手对很多函数命令不是很懂,无奈,只好完全照搬吧!不过我在实际操作的时候还是遇到了问题,好多命令不懂真是苦恼,错在哪知道了(还好vs有错误语句显示,不然就是错在哪都不知道了。),可是怎么改不知道该如何是好。
下面的是我对原文的修改部分,历尽艰辛终于完成了,对于很多会的人我想大概是不难的,分分钟搞定,但是很多像我一样的小白估计跟我一样,一个简单的问题要卡好长时间才能研究明白,所以把这个给自学的小白们分享下,做个参考。。。。
我用的vs2017,echarts用的最新的,5.0.2
我是完全复制的,但是提示
研究了半天这个JSON是啥不知道,无奈啊,只好想替代办法,反正就是把内容转换成json,网上找到了下面这句。(问了博主回复我是“封装好的json操作类 ,来个邮箱发你”,可惜我看到的时候已经找了替代办法。)
string json = JsonConvert.SerializeObject(newObj);
但是得先引用 json.net.net4.0
然后就可以使用了。
别忘了先引用下。。。。
using Newtonsoft.Json;
当然也可以不引用,直接输入以下语句。
string json = Newtonsoft.Json.JsonConvert.SerializeObject(newObj);
做完这些在调试阶段依然报错
看到这个我想大概是传递成功了,因为这显示的就是我的html的代码,第一行的就是我要传递过来的数据,就是哪个地方出错了不知道,后面弹出的3个框200,4,parsereerror,表示已经成功了,最后一个错误就是说json错误,于是我又在网上翻了半天发现有类似问题,说后面缺少2段命令。
Response.Flush();和Response.Close();
于是原文最后4段修改成以下内容,最终调试成功了。
string json = JsonConvert.SerializeObject(newObj);
Response.Write(json);
Response.Flush();
Response.Close();
另外要提醒下小白,哪个创建Series类,就是把内容复制到c#后台代码中,在最后面就行了。当然要在public partial class admin_Chart_ZFB_char : Page{里面。
在网上看了还是ashx比较方便,就研究了下发现其实也挺简单的。
下面的链接是我用ajax和ashx交互的链接。
c# asp.net利用ajax和ashx文件进行交互_●紫枫的博客-CSDN博客 https://blog.csdn.net/weixin_41053472/article/details/116596621
标题以下是原文内容。
原文链接:[https://blog.csdn.net/qq_18816201/article/details/100656662]
前端页面↓
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<!-- 引入 echarts.js -->
<script src="../../peizhi/echartsjs/echarts.min.js"></script>
<