gpt4 book ai didi

ajax - 参数字典在呈现局部 View 时包含参数错误的空条目

转载 作者:可可西里 更新时间:2023-11-01 16:56:02 25 4
gpt4 key购买 nike

我基本上是在尝试刷新某些 clickEvent() 的部分 View ,并且我正在为此执行 Ajax POST。我的 View 如下所示:

<script type="text/javascript">
$("#employeeGrid").click(function() {
var grid = $("#employeeGrid").data("kendoGrid");
var currentSelection = grid.dataItem(grid.select());
alert(currentSelection.Id);
$.ajax({
data: JSON.stringify({ id: 1 }),
url: "/Employee/ShowEmployeeDetails",
type: "POST",
success: function (result) {
// refreshes partial view
$('#EmployeeDetails').html(result);
}
});
});
</script>

我的 Controller 如下所示:

[HttpPost]
public ActionResult ShowEmployeeDetails(int id)
{

List<EmployeeLOAHistory> employeeLoaHistoryList = new List<EmployeeLOAHistory>
{
new EmployeeLOAHistory
{
Id = 1,
StartDate = DateTime.Now,
EndDate = DateTime.Now
},
new EmployeeLOAHistory
{
Id = 2,
StartDate = DateTime.Now,
EndDate = DateTime.Now
}
};

此外,当我在 Firebug 中跟踪我的请求时,它还显示 id 已正确发布,看起来如下所示:

{"id":1}

然而,响应流讲述了完全不同的故事,它看起来像下面这样:

<title>The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult ShowEmployeeDetails(Int32)'

return PartialView("_EmployeeDetails");
}

我不知道为什么会这样。有什么建议吗?

最佳答案

您不需要对 json 对象进行字符串化。将 ajax 选项更改为

ajax({
data: { id: 1 }, // change this
url: '@Url.Action("ShowEmployeeDetails", "Employee")', // recommended
.....

关于ajax - 参数字典在呈现局部 View 时包含参数错误的空条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28953763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com