Как передать данные таблицы HTML (View) в контроллер для сохранения в таблице slq - PullRequest
0 голосов
/ 15 июня 2019

Я рассчитываю некоторые значения на основе данных, доступных за предыдущий месяц, и отображаю их в виде таблицы в виде.У меня есть другая модель, где мне нужно передать эти значения и сохранить в базе данных.Я не ввожу никаких значений, значения являются статическими или рассчитанными.Значения не передаются из представления в контроллер.

Я пробовал jquery / ajax, но не успешно.

// Контроллер //

[HttpPost]
        public JsonResult Proccess(List<ServerCount> deviceCounts)
        {
            if(deviceCounts == null)
            {
                deviceCounts = new List<ServerCount>();
            }

            var startOfTthisMonth = new DateTime(DateTime.Today.Year,
                DateTime.Today.Month, 1);
            var FromDate = startOfTthisMonth.AddMonths(-1);
            var ToDate = startOfTthisMonth.AddDays(-1);
            var billMonth = startOfTthisMonth.AddMonths(-1).ToString("MMM") + "-" + startOfTthisMonth.AddMonths(-1).ToString("yyyy");

            ServerCount model = new ServerCount();

            foreach (ServerCount sc in deviceCounts)
            {
                model.BillingMonth = billMonth;
                model.ServiceName = sc.ServiceName;
                model.BaslineVol = sc.BaslineVol;
                model.ResourceUnit = sc.ResourceUnit;
                model.DeviceCount = sc.DeviceCount;
                model.DeployedServer = sc.DeployedServer;
                model.RetiredServer = sc.RetiredServer;
                _context.ServerCount.Add(model);
            }

            int insertRecords = _context.SaveChanges();

            return Json(insertRecords);
        }

==================
Jquery
<script type="text/javascript">
    $(document).ready(function () {
        $("body").on("click", "#btnSave", function () {
            var deviceCounts = new Array();
            $("#tblServerCount TBODY TR").each(function () {
                var row = $(this);
                var deviceCount = {};
                deviceCount.ServiceName = row.find("TD").eq(0).html();
                deviceCount.BaslineVol = row.find("TD").eq(1).html();
                deviceCount.ResourceUnit = row.find("TD").eq(2).html();
                deviceCount.DeviceCount = row.find("TD").eq(3).html();
                deviceCount.DeployedServer = row.find("TD").eq(4).html();
                deviceCount.RetiredServer = row.find("TD").eq(5).html();
                deviceCounts.push(deviceCount);
            });

            var model = $("#MyForm").serialize();
            $.ajax({
                type: "POST",
                url: '@Url.Action("Proccess", "DeviceCountServers", new { Area = "Admin" })?' +model,
                data: JSON.stringify(deviceCounts),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (r) {
                    alert(r + " record(s) inserted.");
                    location.reload();
            });
        });
    });
</script>

Я смотрю эти данныеиз таблицы сохраняется в sql по нажатию кнопки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...