У меня возникли проблемы с сохранением данных с использованием ajax из-за datatime2 и исключения из внешнего ключа - PullRequest
0 голосов
/ 05 мая 2019

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

Вот мой код:

Контроллер:

public JsonResult SaveVacation(Vacation model,int empid)
{
        var result = false;

        try
        {
            if (model.Id > 0)
            {
                Vacation vac = db.Vacations.Include(c => c.VacationType).SingleOrDefault(x => x.Id == model.Id);
                vac.EmployeesId = model.EmployeesId;
                vac.VacationType = model.VacationType;
                vac.StartDate = model.StartDate;
                vac.EndDate = model.EndDate;
                vac.Duration = model.Duration;

                db.SaveChanges();

                result = true;
            }
            else
            {
                Vacation vac = new Vacation();
                vac.EmployeesId = model.EmployeesId;
                vac.VacationType = model.VacationType;
                vac.StartDate = model.StartDate;
                vac.Duration = model.Duration;
                vac.EndDate = model.EndDate;
                db.Vacations.Add(vac);
                db.SaveChanges();
                result = true;
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }

        return Json(result, JsonRequestBehavior.AllowGet);
}

Просмотр

 $("#SaveVacation").click(function () {
            var data = $("#SubmitForm").serialize();
            var empId = getParameterByName('id');
            $.ajax({

                type: "POST",
                url: "http://localhost:26868/Vacations/SaveVacation",
                data: data, empId,
                success: function (result) {
                    alert("succsees");
                    window.location.href = "/Vacations/index";
                    $("#MyModal").modal("hide");
                }
            })
        });

1 Ответ

0 голосов
/ 05 мая 2019

Во-первых, вам не хватает фигурных скобок на data детали

Во-вторых, правильная версия должна выглядеть так:

data:{ data:data,id:empId },

Это пары имя / значение в ajax

Кроме того, вам не хватает точки с запятой после функции success, должно быть });

Финальная версия:

 $("#SaveVacation").click(function () {
        var data = $("#SubmitForm").serialize();
        var empId = getParameterByName('id');
        $.ajax({

            type: "POST",
            url: "http://localhost:26868/Vacations/SaveVacation",
            data: { data:data, id:empId },//the name before data and empId can be anything, but there has to be something, because that's what you'll pass to the other site, that's what you'll refer to later
            success: function (result) {
                alert("succsees");
                window.location.href = "/Vacations/index";
                $("#MyModal").modal("hide");
            }
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...