c# - C# 代码中的参数 null 但在 AJAX 调用中设置
问题描述
我正在使用 C#、.NET Framework 4.7 和 jQuery 1.11.2 开发一个 ASP.NET MVC 5 应用程序。
这个javascript代码:
function RequestCodes(button, poId) {
var URL = '/ProductionOrder/RequestCodeForIncompleteOrder';
//button.attr("disabled", "disabled");
$('#ok').hide();
$('#fail').hide();
$('#cargando').show();
$.ajax({
url: URL,
type: "PUT",
dataType: "HTML",
data: { productionOrderId: poId },
contentType: "json",
success: function () {
$('#cargando').hide();
$('#ok').show();
$("#ok").fadeOut("slow", function () {
$('#ok').hide();
});
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
$('#cargando').hide();
$('#fail').show();
$("#fail").fadeOut("slow", function () {
$('#fail').hide();
//button.removeAttr("disabled");
});
}
});
}
引发此错误:
参数字典包含“TRZF.Web.API.Controllers.ProductionOrderController”中方法“System.Web.Mvc.ActionResult RequestCodeForIncompleteOrder(Int32)”的不可为空类型“System.Int32”的参数“productionOrderId”的空条目。可选参数必须是引用类型、可为空的类型或声明为可选参数。参数名称:参数。
当我调用该方法时:
public ActionResult RequestCodeForIncompleteOrder(int productionOrderId)
问题在于 javascript 代码中的参数名称,但我不知道为什么,因为它与 C# 代码中的名称相同。
我该如何解决这个错误?
解决方案
这是解决方案:
您在下一行有语法错误。我已经解决了这个问题。
data: "{'productionOrderId':'" + poId + "'}",
推荐阅读
- python - Pytorch 的 packed_sequence/pad_sequence 为张量列表垂直填充张量
- mysql - sql查询从mysql中选择记录
- node.js - 如何在 Firebase Functions 中使用 koa.js + next
- javascript - 端点的异步轮询
- rust - 如何在包含可迭代项的结构上在 Rust 中定义迭代器?
- javascript - 提供反应后如何在手机上隐藏反应文本
- laravel - 如果使用 distinct,为什么 Laravel 连接查询会修改顺序?
- reactjs - 当下拉值更改时,setState 未正确设置状态
- python - 如何通过终端或 shell 脚本从 python 文件中调用特定函数并将参数传递给该函数?
- typescript - TypeScript 区分联合过滤在区分键上失败