ajax利用session传值(案例)

本文介绍了一个前后端交互的具体实现案例,包括后端处理函数TrendChart的定义与使用,通过HttpContext进行Session管理,以及前端使用jQuery发起AJAX请求并显示进度的方式。同时展示了如何将数据传递给另一个页面ProductTrendChart.aspx进行图表展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

后台:

 public static string TrendChart()
        {
            HttpContext context = HttpContext.Current;
            ReturnStr strReturn = new ReturnStr();
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            strReturn.msg = serializer.Serialize(list);
            strReturn.other = ExcelName;
            strReturn.oldname = priceType;
            strReturn.count = ProductID.Count;
            strReturn.success = true;
            if (context.Session["Object"] != null)
            {
                context.Session.Remove("Object");
            }
            context.Session["Object"] = strReturn;
            return serializer.Serialize(strReturn);
        }

前台:

 $("#btnTrendChart").bind("click", function () {
            var jsonData = {
                path: "/CollectAnalysis/LivelihoodAnalysis/ViewProductDetails.aspx/TrendChart",
                param: {}
            }
            var resultData = _Fun.jQueryAjax(jsonData);
            if (resultData.info) {
                WindowsOutOpen("ProductTrendChart.aspx");
            }                 
        });

还可以

 $("#btnTrendChart").bind("click", function () {
            var jsonData = {
                path: "/CollectAnalysis/LivelihoodAnalysis/ViewProductDetails.aspx/TrendChart",
                param: {}
            }
            var _myJson = { info: true };
            showProgress(0, "正在整理数据中,请稍候...");
            $.ajax({
                type: "POST",
                async: true,
                url: jsonData.path,
                data: JSON.stringify(jsonData.param),
                dataType: "json",
                contentType: "application/json;charset=utf-8",
                success: function (data) {
                    _myJson.info = JSON.parse(data.d);
                    if (_myJson.info.success) {
                        WindowsOutOpen("ProductTrendChart.aspx");
                    }
                    hideProgress();
                },
                error: function () {
                    hideProgress();
                    error('服务器未响应,请联系管理员!');
                }
            });            
        });

这种可以添加进度条:showProgress(0, "正在整理数据中,请稍候...");

ProductTrendChart.aspx后台代码:

 protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                try
                {
                    if (Session["Object"] == null)
                    {
                        //如果没有要导出的Session对象
                        return;
                    }
                    jsonObject = Session["Object"] as ReturnStr;
                    string jsonlist = jsonObject.msg;
                    JavaScriptSerializer Serializer = new JavaScriptSerializer();
                    list = Serializer.Deserialize<List<Models.livelihooddatachecked>>(jsonlist);
                }
                catch { }
            }
        }

 

转载于:https://www.cnblogs.com/gbnw/p/3776097.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值