Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在通过Jquery保存到MVC模型输入后以Html显示记录_Jquery_Html_Json_Asp.net Mvc - Fatal编程技术网

如何在通过Jquery保存到MVC模型输入后以Html显示记录

如何在通过Jquery保存到MVC模型输入后以Html显示记录,jquery,html,json,asp.net-mvc,Jquery,Html,Json,Asp.net Mvc,实际上,我只是想用jquery在html前端显示Max record,而且我已经成功地将数据保存在模型中,下面是我的jquery代码: $("#btnSave").click(function () { //var itemcode; //var qty; var books = $('#CbTable'); if (books.val() === '') { ale

实际上,我只是想用jquery在html前端显示Max record,而且我已经成功地将数据保存在模型中,下面是我的jquery代码:

$("#btnSave").click(function () {

            //var itemcode;
            //var qty;
            var books = $('#CbTable');
            if (books.val() === '') {
                alert("Please select an Table from the list and then proceed!");
                $('#CbTable').focus();

                return false;
            }

            else {

                var a = [];
                $('#tablefinaldata').find('tbody').find('tr').each(function () {


                    //InvNo: $('#TbInvNo').val();
                    Item_Code = $(this).find("#code").html();
                    SaleQty = $(this).find("#itemqty").html();
                    UnitRP = $(this).find("#itemprice").html();
                    a.push(Item_Code + "," + SaleQty + "," + UnitRP);





                });


                var allData = {

                    InvNo:$('#TbInvNo').val(),
                    VAT: $('#TbGST').val(),
                    GrossSale: $('#TbOrderTotal').val(),
                    discount: $('#TbDiscount').val(),
                    CusCash: $('#TbCash').val(),
                    CusBal: $('#TbBalance').val(),
                    CrBank: $('#CbBank').children("option:selected").val(),
                    TblId: $('#CbTable').children("option:selected").val(),
                    PymtType: $("input[name='RbCashStatus']:checked").val(),
                    Dinetype: $("input[name='dinetype']:checked").val()


                }

                var posdata = { collection: allData, Data: a }
                $.ajax({
                    url: '@Url.Action("SaveData", "POS")',
                    type: 'POST',
                    data: posdata,
                    success: function (res) {
                        //$.get('/POS/SaveData', function (Data) {
                        //    alert(Data)


                        });

                    }
                });






            }



    });
这是我的控制器,其中返回InvNo方法这正是我希望在前端获得的结果,并在使用上面已附加的“点击提及”成功保存记录后在html输入中显示:

   public JsonResult SaveData(POSMater collection, string[] Data)
        { 

            if (collection.InvNo.ToString() ==null)
            {

                TblPOSMaster master = new TblPOSMaster();
                var maxValue = (from b in db.TblPOSMasters select b.InvNo).FirstOrDefault();
                int MaxInvNo = maxValue + 1;
                collection.InvNo = MaxInvNo;
                master.InvNo = collection.InvNo;
                master.CompId = 1;
                master.ShopId = 1;
                master.Saleperson = 1;
                master.SaleType = "S";
                master.CusId = 1;
                master.saleDate = DateTime.Now;
                master.PymtType = collection.PymtType;
                master.CrBank = collection.CrBank;
                master.CrCardNo = collection.CrCardNo;
                master.GrossSale = collection.GrossSale;
                master.discount = collection.discount;
                master.TaxCodeId = 1;
                master.VAT = collection.VAT;
                master.NetSale = collection.NetSale;
                master.CusCash = collection.CusCash;
                master.CusCardAmt = collection.CusCardAmt;
                master.CreditAmt = collection.CreditAmt;
                master.CusBal = collection.CusBal;
                master.ExchangeRate = 1;
                master.PointEarned = collection.PointEarned;
                master.PointEarnedValue = collection.PointEarnedValue;
                master.PointRedeem = collection.PointRedeem;
                master.InvNo_Sale_Return = collection.InvNo_Sale_Return;
                master.AddBy = collection.AddBy;
                master.AddDate = DateTime.Now;
                master.UpdateBy = collection.UpdateBy;
                master.UpdateDate = DateTime.Now;
                master.Dinetype = collection.Dinetype;
                master.TblId = collection.TblId;
                master.Pax = collection.Pax;
                master.CashStatus = "P";
                master.OrderStatus = "B";
                master.DisAprBy = collection.DisAprBy;
                master.RefNo = collection.RefNo;
                master.DealRmk = collection.DealRmk;
                master.IsDeal = collection.IsDeal;
                master.DlvrId = collection.DlvrId;
                db.TblPOSMasters.Add(master);
                db.SaveChanges();
                for(int i=0;i<Data.Length;i++)
                {
                    string rcvData = Data[i].ToString();
                    string[] arr = rcvData.Split(','); 
                    TblPOSTran Trans = new TblPOSTran();
                    Trans.InvNo = collection.InvNo;
                    Trans.Item_Code = arr[0];
                    Trans.SaleQty = decimal.Parse(arr[1]);
                    Trans.UnitRP = decimal.Parse(arr[2]);
                    db.TblPOSTrans.Add(Trans);
                    db.SaveChanges();
                    return Json(collection.InvNo, JsonRequestBehavior.AllowGet);
                    //return Json(collection.InvNo);
                }


            }
            else
            {


            }

            return Json(collection.InvNo);
        }

在ajax调用成功方法中获得响应后,在DIV标记中显示值,如$display.htmles,因为您只返回一个值invoiceNumber

我通过稍微更改代码解决了上述问题

 var posdata = { collection: allData, Data: a }
                $.ajax({
                    url: '@Url.Action("SaveData", "POS")',
                    type: 'POST',
                    data: posdata,
                    success: function (res) {
                        $('#TbInvNo').val(res.InvNo);

                    }
                });

从控制器返回您希望显示的项目,并在ajax success Calback上更新您的dom。我已经返回了您在控制器返回Jsoncollection.InvNo、JsonRequestBehavior.AllowGet中看到的项目;看起来您只返回发票号,而不是整个发票