.net的web开发前后端传值系列(二)

使用一般处理程序处理AJAX请求
前台:

 function SaveSKU(SkuId) {
        var Elements = $("." + SkuId);
        var CostPrice1 = Elements[0].value;
        var CostPrice2 = Elements[1].value;
        var Weight = Elements[2].value;
        //GradePrice最终格式为;"3#1,4#2,5#3"
        var GradePrice = "";
        var EleLen = Elements.length;
        for (var vi = 0; vi < EleLen; vi++) {
            var gradeId = Elements[vi].id.split("_")[0];
            if (vi == EleLen - 1) {
                GradePrice += Elements[vi].value + "#" + gradeId;
            } else {
                GradePrice += Elements[vi].value + "#" + gradeId + ",";
            }
        }

        $.ajax({
            type: "POST",
            url: "HandlerDesignSaveSKU.ashx",
            async: false,
            data: {
                SkuId: SkuId,
                GradePrice: GradePrice
            },
            success: function (responseData) {
                //alert(responseData);
            }
        });
    }

后台:

/// <summary>
    /// HandlerDesignSaveSKU 的摘要说明
    /// </summary>
    public class HandlerDesignSaveSKU : IHttpHandler
    {
        private Object thisLock = new Object();
        public void ProcessRequest(HttpContext context)
        {
            //线程互斥
            lock (thisLock)
            {
                context.Response.ContentType = "text/plain";
                string flag = "";
                string SkuId = context.Request.Form["SkuId"];
                //GradePrice格式为;"3#1,4#2,5#3"   ,表示一级价格为3,2级价格为4,三级价格为5 
                string GradePrice = context.Request.Form["GradePrice"];
                //ArrGradePrice[0]表示等级一的价格,ArrGradePrice[1]表示等级二的价格,依次类推...
                string[] ArrGradePrice = GradePrice.Split(',');


                V5print.BLL.DesignSheet.AttributeSKU4Grade bllSku4Grade = new V5print.BLL.DesignSheet.AttributeSKU4Grade();
                for (int i = 0; i < ArrGradePrice.Length; i++)
                {
                    string[] arrPrice = ArrGradePrice[i].Split('#');
                    string Price = arrPrice[0];
                    string GardeId = arrPrice[1];

                    StringBuilder bd = new StringBuilder();
                    bd.AppendFormat(" SkuId={0} and GradeId={1} ", SkuId, GardeId);
                    List<V5print.Model.DesignSheet.AttributeSKU4Grade> itemsSku4Grade = bllSku4Grade.GetModelList(bd.ToString());
                    if (itemsSku4Grade.Count > 0)
                    {
                        if ((!string.IsNullOrWhiteSpace(Price)) && (PageValidate.IsMoney(Price)))
                        {
                            //如果该等级对于的价格已存在且新输入的价格不为空,则更新
                            V5print.Model.DesignSheet.AttributeSKU4Grade modelSku4GradeExit = itemsSku4Grade[0];
                            modelSku4GradeExit.Price = decimal.Parse(Price);
                            bllSku4Grade.Update(modelSku4GradeExit);
                            modelSku4GradeExit = null;
                        }

                    }
                    else
                    {
                        //否则,插入新的数据
                        V5print.Model.DesignSheet.AttributeSKU4Grade modelSku4Grade = new V5print.Model.DesignSheet.AttributeSKU4Grade();
                        modelSku4Grade.SkuId = int.Parse(SkuId);
                        modelSku4Grade.GradeId = int.Parse(GardeId);
                        if ((!string.IsNullOrWhiteSpace(Price)) && (PageValidate.IsMoney(Price)))
                        {
                            //如果不为空才插入价格
                            modelSku4Grade.Price = decimal.Parse(Price);
                        }

                        bllSku4Grade.Add(modelSku4Grade);
                        modelSku4Grade = null;
                    }
                }
                context.Response.Write(flag);
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值