C# 参数字典包含参数(ASP.NET)的空条目
我有一个方法可以根据Aajax请求将数据添加到数据库中 下面是后端的代码C# 参数字典包含参数(ASP.NET)的空条目,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我有一个方法可以根据Aajax请求将数据添加到数据库中 下面是后端的代码 public ActionResult AddingInternalAppointment(string Start, string End, string Title, DateTime Date,int id) { using (var ctx = new ApplicationDbContext()) { Appointment appoint
public ActionResult AddingInternalAppointment(string Start, string End, string Title, DateTime Date,int id)
{
using (var ctx = new ApplicationDbContext())
{
Appointment appointmentInt = new Appointment()
{
Start_appointment = Start,
End_appointment = End,
Title = Title,
Type_of_appointment = "Internal",
Date = Date
};
ctx.Appointments.Add(appointmentInt);
ctx.SaveChanges();
return Json(new {Result = "Success", Message = "Saved Successfully"});
}
}
这里是前端的AJAX请求:
function addAppointmentInternal() {
var idofdoctor = moment($('#startAppointment').val()).toISOString();
alert(idofdoctor);
$.ajax({
type: 'Post',
dataType: 'Json',
data: {
Start: $('#startAppointment').val(),
End: $('#endAppointment').val(),
Title: $('#title').val(),
Date: moment($('#startAppointment').val()).toISOString()
},
url: '@Url.Action("AddingInternalAppointment","Calendar")',
success: function (da) {
if (da.Result === "Success") {
$('#calendar').fullCalendar('refetchEvents');
$("#myModal2").modal();
} else {
alert('Error' + da.Message);
}
},
error: function(da) {
alert('Error');
}
});
}
当我调用这个函数时,它会向我显示这个错误,但我有日期值
我怎样才能解决这个问题
尝试将参数名称
Date
更改为其他内容(如appointmentDate
)。您需要在ajax调用中进行同样的更改。一些事情
为动作创建一个模型
public class AppointmentOptions {
public string Start { get; set;}
public string End { get; set;}
public string Title { get; set;}
public DateTime Date { get; set;}
public int Id { get; set;}
}
相应地更新操作
[HttpPost]
public ActionResult AddingInternalAppointment([FromBody]AppointmentOptions model) {
if(ModelState.IsValid) {
string Start = model.Start;
string End = model.End;
//...
//...code removed for brevity
}
接下来是客户端更新ajax调用
function addAppointmentInternal() {
var idofdoctor = moment($('#startAppointment').val()).toISOString();
var model = {
Start: $('#startAppointment').val(),
End: $('#endAppointment').val(),
Title: $('#title').val(),
Date: moment($('#startAppointment').val()).toISOString()
};
alert(idofdoctor);
$.ajax({
type: 'Post',
dataType: 'Json',
data: JSON.stringify(model), //<-- NOTE
url: '@Url.Action("AddingInternalAppointment","Calendar")',
success: function (da) {
if (da.Result === "Success") {
$('#calendar').fullCalendar('refetchEvents');
$("#myModal2").modal();
} else {
alert('Error' + da.Message);
}
},
error: function(da) {
alert('Error');
}
});
}
函数addAppointmentInternal(){
var idofdoctor=力矩($('#startappointing').val()).toISOString();
var模型={
开始:$('#startappointing').val(),
结束:$('#endAppointment').val(),
标题:$('#Title').val(),
日期:矩($('#startappointing').val()).toISOString()
};
警报(idofdoctor);
$.ajax({
键入:“Post”,
数据类型:“Json”,
data:JSON.stringify(model),//尝试将参数名称Date更改为其他名称(类似于appointmentDate),它似乎是关键字,因此不能将其用作参数。您需要在ajax调用中更改它。$('#startAppointment').val()的值是多少
调用ajax时?错误不在此值内@WNDRRY您是对的,谢谢's@DSRI把它作为一个答案贴出来,你可以接受它,如果它有效的话。这是胡说八道。Date
不是一个保留关键字。这到底是怎么被投票和接受的。仅供参考,