将Jquery POST插入控制器/ SQL数据库时出错

时间:2019-07-02 14:11:37

标签: jquery sql controller

我正在尝试将MVC5应用程序视图中的数据从jquery POST插入到控制器到sql数据库。我收到一个错误消息,因为与“ FOREIGN KEY属性”发生冲突。我认为我的问题是,jQuery POST为外键输入返回了错误的ID。

查看代码

$("#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 :(得分:0)

尝试使用jQuery获取KundeId:

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

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

您也可以尝试:

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

编辑

您可以使用attr获取ID:

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