我从数据库中删除身份,但是当我想添加事件时,他无法插入数据库我不知道问题出在什么地方,尽管我用身份工作来更改数据库。
var data = {
EventID: $('#hdEventID').val(),
EventTitle: $('#txtSubject').val().trim(),
StartDate: $('#txtStart').val().trim(),
EndDate: $('#chkIsFullDay').is(':checked') ? null : $('#txtEnd').val().trim(),
EventDescription: $('#txtDescription').val(),
ThemeColor: $('#ddThemeColor').val(),
IsFullDay: $('#chkIsFullDay').is(':checked')
}
SaveEvent(data);
// call function for submit data to the server
})
function SaveEvent(data) {
$.ajax({
type: "POST",
url: '/home/SaveEvent',
data: data,
success: function (data) {
if (data.status) {
//Refresh the calender
FetchEventAndRenderCalendar();
$('#myModalSave').modal('hide');
}
},
error: function () {
alert('Failed');
}
})
}
})
这是我在asp mvc中的控制器:
[HttpPost]
public JsonResult SaveEvent(Event e)
{
var status = false;
using (Entities db = new Entities())
{
if (e.EventID > 0)
{
//Update the event
var v = db.Events.Where(a => a.EventID == e.EventID).FirstOrDefault();
if (v != null)
{
v.EventTitle = e.EventTitle;
v.StartDate = e.StartDate;
v.EndDate = e.EndDate;
v.EventDescription = e.EventDescription;
v.ThemeColor = e.ThemeColor;
}
}
else
{
db.Events.Add(e);
}
db.SaveChanges();
status = true;
}
return new JsonResult { Data = new { status = status } };
}
帮助我使事件添加时不带标识:
如果关闭了自动递增身份,则必须手动设置EventID,因为它是您的主键。在从数据库中读取最大ID并将事件ID设置为max + 1,然后再将其添加到数据库。