我的客户端代码发送ajax请求
var taskDetail = {
Id: id,
StatusTo: "Completed", //should come from list of status to change
Description: description,
Documents: document,
Visibility: visibility
};
$.ajax({
url: url_link.task_complete + JSON.stringify(taskDetail),
type: "GET",
success: function (e) {
$('#Task-Status').html(e.Status);
$('.desc-entry').hide();
$('.desc-note').find('span').html(e.Description);
$('#Task-Completion').html(DateHelper(e.CurrentCompletionDate));
$('.comp-date').show();
$('.desc-note').show();
/*
* Change status
* hide text area
* show description
* hide complete button
*
*/
$('.thumb').find('ul').empty();
$('#description').val('');
$('.desc-button').hide();
updateTaskDocument(taskDetail.Id);
//updateProjectPoint(taskDetail.Id);
},
error: function (xhrRequest, textStatus, errorThrown) {
alert("Error while sending request");
}
});
我的服务器端代码
[AcceptVerbs("GET")]
[Route("status")]
public IHttpActionResult ChangeTaskStatus(string task)
{
ChangeStatusViewModel status = JsonConvert.DeserializeObject<ChangeStatusViewModel>(task);
int result = repo.ChangeStatus(status);
if (result < 1)
{
return NotFound();
}
// mail.Send(db.GetUserList(db.GetGroup(status.Id)));
var detail = repo.GetTaskDetail(status.Id);
return Ok(detail);
}
得到错误
Newtonsoft.Json.dll中出现“Newtonsoft.Json.JsonSerializationException”类型的异常,但未在用户代码中处理
附加信息:
将值转换为类型'System.Int32'时出错 . 路径'文件[1]',第1行,第107位 .
请帮我
1 回答
MVC Model Binding将为您完成工作 . 您可以在不使用“ JSON.stringify " and make sure that filed in " taskDetail " are the same as " ChangeStatusViewMode ”的情况下提交数据