Javascript 如何将类参数发送到控制器
我的班级Javascript 如何将类参数发送到控制器,javascript,jquery,ajax,parameter-passing,Javascript,Jquery,Ajax,Parameter Passing,我的班级 public class Disciplines { public int Id { get; set; } public string Name { get; set; } } 我的控制器 public void test (Disciplines discipline) { } 我想使用ajax将参数发送到测试控制器 我的javascript是 var disciplines = {Id:1, name:"white"}; $
public class Disciplines
{
public int Id { get; set; }
public string Name { get; set; }
}
我的控制器
public void test (Disciplines discipline)
{
}
我想使用ajax将参数发送到测试控制器
我的javascript是
var disciplines = {Id:1, name:"white"};
$.ajax({
type: "POST",
url: "test",
data: { disciplines:disciplines },
dataType: "Json",
success: function (response) {
},
beforeSend: function () {
showIndicator();
},
error: onFailure,
});
调试it控制器时,参数始终为空。
我怎样才能成功呢。非常感谢。您的代码应该是
var disciplines = {"Id":1, "Name":"white"};
$.ajax({
type: "POST",
url: "test",
data: { disciplines:disciplines },
dataType: "Json",
success: function (response) {
},
beforeSend: function () {
showIndicator();
},
error: onFailure,
});
控制器
[HttpPost]
public void test (Disciplines discipline)
{
}
必须具有与类中相同的参数名称问题是因为模型绑定器将在请求中查找
id
和名称
属性,而不是规程
。试试这个:
var disciplines = {
id: 1,
name: "white"
};
$.ajax({
type: "POST",
url: "test",
data: disciplines,
dataType: "json",
success: function (response) {
},
beforeSend: function () {
showIndicator();
},
error: onFailure,
});
您是否尝试过
数据:规程,
?您必须在ajax中具有与“Id”,“name”相同的对象参数名称,您正在编写数据类型:“Json”
,但您期望的是规程
,一个自定义对象。您必须接收JSON并手动将其解析到您的对象中。我假设这是因为将对象中的参数名用引号括起来不会有任何区别。模型绑定器将查找Id
和Name
属性,而不是规程
@RoryMcCrossan,它们在Name
和Name
中有所不同。这不绑定到参数名。鉴于OP在ASP.Net MVC中工作(考虑到代码结构和他之前的问题)这没什么区别——模型绑定器不区分大小写。