Я пытаюсь вставить данные в базу данных, когда форма пользователя sumbit, но все равно не повезло
Я проверил Консоль в Браузере, нет ошибки.
Я отладил пошагово My JsonResult, и я могусм. Модель содержит данные, а ModelState имеет значение true, но
Когда я отлаживаю свой JsonResult, я вижу, что идентификатор содержит 0 (возможно, идентификатор равен 0, вызывает проблему ?!), и после того, как я это увидел, я делаю оператор if / elseи в моем контроллере, и в моем Ajax, но все еще не работает.
Я также сохранил Id в ViewBag.ID в моем Json Result, а затем в View я сделал тип поля ввода скрытым и сохранил ViewBag.ID какзначение в поле ввода.
Может ли кто-нибудь указать мне правильное направление?!
Контроллер:
[HttpPost]
public JsonResult ProcessRequestRMA(RMA_History model)
{
ViewBag.ID = model.Id;
if (ModelState.IsValid)
{
if (ViewBag.ID == 0)
{
db.RMA_History.Add(new RMA_History
{
Id = ViewBag.ID,
Kundenavn = model.Kundenavn,
Ordrenummer = model.Ordrenummer
});
db.SaveChanges();
}
}
return Json(model, JsonRequestBehavior.AllowGet);
}
AJAX:
<form>
<input name="Ordrenummer" type="text" id="Ordrenummer" >
<input name="Kundenavn" type="text" id="Kundenavn" >
<input type="hidden" name="Id" id="Id" value="@ViewBag.ID" />
<button id="btn" type="submit">Send</button>
</form>
<script>
$(document).ready(function () {
$("#btn").click(function (e) {
e.preventDefault();
return myfunction();
});
function myfunction() {
var model = {
Kundenavn: $("#Kundenavn").val(),
Ordrenummer: $("#Ordrenummer").val(),
Id: $("#Id").val()
}
$.ajax({
type: 'POST',
url: "/Account/ProcessRequestRMA",
dataType: 'json',
data: {
Kundenavn: model.Kundenavn,
Ordrenummer: model.Ordrenummer,
Id: model.Id
},
beforeSend: function (status) {
if (model.Id == 0) {
status.Id = model.Id
status.Kundenavn = model.Kundenavn;
status.Ordrenummer = model.Ordrenummer;
console.log("Send");
}
else {
alert("Something Wrong");
}
},
success: function (run) {
if (run) {
console.log("Send success");
}
else {
alert("Something wrong in success");
}
},
error: function () {
console.log('something went wrong - debug it!');
}
});
}
});
</script>
Модель:
public class RMA_History
{
public int Id { get; set; }
public string Kundenummer { get; set; }
public string Ordrenummer { get; set; }
//Table & Column Mappings
//Stuff here
//Key
HasKey(t => t.Id);
}