jquery - 将 Jquery POST 插入控制器/SQL 数据库时出错
问题描述
我正在尝试将来自 jquery POST 到控制器的 MVC5 应用程序视图中的数据插入到 sql 数据库中。我收到一个错误,因为与“外键属性”存在冲突。我认为我的问题是,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();
}
解决方案
尝试使用 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');
推荐阅读
- java - 如何在 Spring 后端获取可变的 HTML 表单值(POST)
- javascript - 从 Foreach php 更改结果链接,使用 Javascript 不工作是否可能?
- db2 - 在 IBM DB2 上运行 SQL 脚本时收到警告消息
- android - 如何计算通知生成器的点击次数
- c++ - 在 C++ 中使用 switch 语句将不同的函数分配为类属性
- python - 如果先前生成的值被显式设置为新种子,为什么 Python random.random() 会给出不同的值?
- reactjs - 更新到 useState 后数据未映射 - React
- python - 用“onclick = (PythonScript(link))”切换所有“href = (link)”
- html - 添加 img 标签会导致溢出。如何避免这种情况
- python - form.is_valid() 在使用手机作为主键时抛出错误