Jquery数据表警告

时间:2015-06-02 16:57:33

标签: javascript jquery asp.net-mvc datatable jquery-datatables

我有一个jquery可编辑表。 在代码背后有三个动作。 一个用于加载数据表的数据 另一个从数据表中删除数据 最后一个用于保存数据。 这些行动没有什么特别之处。 我有保存数据的问题。数据正确保存到数据库,然后重定向再次将数据加载到datable。 正确保存数据的数据库,有重定向,将新数据加载到数据表,然后我收到此警告: DataTables警告:table id = myDataTable - 第8行请求的未知参数“0”。有关此错误的详细信息,请参阅http://datatables.net/tn/4

我在该页面上看到了这个错误,我仍然无法找到此错误的解决方案。 有趣的是,当我收到此错误并使用数据表刷新页面时,此时数据已正确加载。 我不知道发生了什么事。 请帮忙

以下是两个有问题的行动

[HttpGet]
    public ActionResult TesotwanieTabelki(int promotionId)
    {
        marketPromocji.Areas.DELIVER.Models.PromotionsProductsViewModel promotionProductsViewModelItem =
            new marketPromocji.Areas.DELIVER.Models.PromotionsProductsViewModel();

        promotionProductsViewModelItem.productDetails =
          new List<marketPromocji.Areas.DELIVER.Models.ProductDetails>();

        marketPromocji.Models.promocje promocje = unitOfWork.PromocjeRepository.GetByID(promotionId);
       aspnet_Users produktyWDanejPromocji=promocje.promocje_produkty.Select(x => x.produkty).First().aspnet_Users; //czyje produkty w danej promocji
       ICollection<produkty> produkty = unitOfWork.ProduktyRepository.Get().Where(x => x.aspnet_Users.UserId== produktyWDanejPromocji.UserId).ToList();

       List<SelectListItem> selectList=new List<SelectListItem>();

       foreach (produkty p in produkty)
       {
           selectList.Add(new SelectListItem { Text = p.nazwa, Value = p.id.ToString()});
       }

       promotionProductsViewModelItem.selectList = selectList;

        promotionProductsViewModelItem.data_start = promocje.data_start;
        promotionProductsViewModelItem.data_koniec = promocje.data_koniec;
        promotionProductsViewModelItem.czy_zielony_koszyk = promocje.czy_zielony_koszyk;
        promotionProductsViewModelItem.id = promocje.id;
        promotionProductsViewModelItem.poziom_dostepnosci = promocje.poziom_dostepnosci;
        promotionProductsViewModelItem.wynagrodzenie = promocje.wynagrodzenie;
        if (promocje.sposob_wynagrodzenia != null)
        {
            promotionProductsViewModelItem.sposobWynagrodzenia = promocje.sposob_wynagrodzenia;
        }
        else
        {
            promotionProductsViewModelItem.sposobWynagrodzenia = "";
        }

        ICollection<marketPromocji.Models.promocje_produkty> promocje_produkty = unitOfWork.PromocjeProduktyRepository.Get().Where(x => x.ref_promocja == promotionId).ToList();

        foreach (marketPromocji.Models.promocje_produkty item in promocje_produkty)
        {
            promotionProductsViewModelItem.productDetails.Add(new marketPromocji.Areas.DELIVER.Models.ProductDetails()
            {
                productId = item.produkty.id,
                cena_brutto = item.cena_brutto,
                cena_brutto_dla_sklepu = item.cena_brutto_dla_sklepu,
                cena_netto = item.cena_netto,
                cena_netto_dla_sklepu = item.cena_netto_dla_sklepu,
                nazwa = item.produkty.nazwa,
                url_obrazka = item.produkty.url_obrazka
            });

        }

          Session[User.Identity.Name] = promotionProductsViewModelItem; //this session is used for datatable update action

        return View(promotionProductsViewModelItem);
    }

     [HttpPost]
   public ActionResult AddData(FormCollection formCollection)  
    {
        int promotionId = Convert.ToInt32(formCollection.Get("promotionId"));

        string addedProductId = formCollection.Get("Produkty");
        int productId = Convert.ToInt32(addedProductId);

        marketPromocji.Areas.DELIVER.Models.PromotionsProductsViewModel promotionsProductsViewModel = 
            (marketPromocji.Areas.DELIVER.Models.PromotionsProductsViewModel)Session[User.Identity.Name];

        produkty produkt = new produkty();

        produkt = unitOfWork.ProduktyRepository.GetByID(productId);

        promocje_produkty promocjeProdukty = new promocje_produkty();
        promocjeProdukty.cena_brutto = Convert.ToDecimal(formCollection.Get("cenaZakupuNetto"));            //tutaj to jeszcze musze sprawdzic czy to w odpowiedniej kolejnosci jest;/
        promocjeProdukty.cena_brutto_dla_sklepu = Convert.ToDecimal(formCollection.Get("cenaZakupuBrutto"));
        promocjeProdukty.cena_netto = Convert.ToDecimal(formCollection.Get("cenaSprzedazyNetto"));
        promocjeProdukty.cena_netto_dla_sklepu = Convert.ToDecimal(formCollection.Get("cenaSprzedazyBrutto"));

        string zielonyKoszyk = formCollection.Get("zielonyKoszyk");

        if(zielonyKoszyk==null)
        {
            promocjeProdukty.czy_zielony_koszyk = false;
        }
        else
        {
            promocjeProdukty.czy_zielony_koszyk = true;
        }
        promocjeProdukty.ref_produkt = productId;
        promocjeProdukty.ref_promocja = promotionId; 

        try
        {
            unitOfWork.PromocjeProduktyRepository.Insert(promocjeProdukty);

            unitOfWork.Save();
        }
        catch(Exception ex)
        {

        }

       return RedirectToAction("TesotwanieTabelki", new { promotionId=promotionId});
    }

0 个答案:

没有答案