我正在尝试将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();
}
答案 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');