Ошибка вставки JQuery POST в базу данных контроллера / SQL - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь вставить данные из представления приложения MVC5 из POST jquery в контроллер в базу данных sql.Я получаю сообщение об ошибке, потому что произошел конфликт с «FOREIGN KEY Property».Я думаю, что моя проблема в том, что jquery POST возвращает неправильный идентификатор для ввода внешнего ключа.

Просмотр кода

$("#BtnSave").click(function (e) {
    e.preventDefault();

    var data = JSON.stringify({
                KundeId: document.getElementById("Kunde").value, //$('#Kunde option:selected').attr('id'), //$("#Kunde").children(":selected").attr("id"),
                RechnungsNummer: $("#Code").val(),
                RechnungsDatum: $("#Datum").val(),
    });
});

function saveOrder(data) {
    return $.ajax({
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            type: 'POST',
            url: "/Rechnung/Create",
            data: data
    });
}

Код контроллера

[HttpPost]
public ActionResult Create(Rechnung rechnung)
{
    var artikel = _rechnungService.Artikellistes(HttpContext);

    var rechnungmodel = new Rechnung
            {
                Rechnungsnummer = rechnung.Rechnungsnummer,
                Rechnungsdatum = rechnung.Rechnungsdatum, //DateTime.Parse(rechnung.Rechnungsdatum.ToString("d")),

                Faelligkeit = DateTime.Now,//rechnung.Faelligkeit, //DateTime.Parse(rechnung.Faelligkeit.ToString("d")),
                KundeId = rechnung.KundeId
            };

    db.Rechnungs.Add(rechnungmodel);
    db.SaveChanges();
}

1 Ответ

0 голосов
/ 03 июля 2019

Попробуйте получить KundeId с помощью jQuery:

$("#BtnSave").click(function (e) {
    e.preventDefault();

    var data = JSON.stringify({
        KundeId: $("#Kunde").val(),
        RechnungsNummer: $("#Code").val(),
        RechnungsDatum: $("#Datum").val()
    });
});

Вы также можете попробовать:

$('#Kunde').find(":selected").text();

РЕДАКТИРОВАТЬ

Вы можете получить идентификаториспользуя attr:

 $('#Kunde').find(":selected").attr('value');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...