![](/img/trans.png)
[英]ASP.NET MVC Kendo Grid how to call controller method from javascript
[英]Issue posting data from a Kendo Grid to an ASP.NET MVC Controller
我在從Kendo網格向MVC控制器發布數據時遇到問題。 我要發布的特定操作如下所示:
public JsonResult Search(Credential searchParam)
{
// Perform search
}
它接受的Credential
對象是帶有內部類的POCO,並且定義為:
public class Credential
{
public class License
{
public string Prefix { get; set; }
public string Number { get; set; }
public string SubCategory { get; set; }
// Constructors...
}
public string FirstName { get; set; }
public string LastName { get; set; }
public License LicenseNumber { get; set; }
// Constructors...
}
我在想我的問題是Kendo網格如何發送我的數據源定義為的Credential
:
dataSource: {
transport: {
read: {
url: Router.action("Search", "Index"),
type: "post",
contentType: "application/json",
dataType: "json",
data: {
FirstName: $(".firstName").val(),
LastName: $(".lastName").val(),
LicenseNumber: {
Prefix: $(".cred1").val(),
Number: $(".cred2").val(),
SubCategory: $(".cred3").val()
}
}
}
},
pageSize: 20
},
當前,控制器拋出錯誤,提示: Invalid JSON primitive: FirstName.
我嘗試將字段名稱包裝在單引號和雙引號中,並嘗試使用JSON.stringify
發送相同的數據而無濟於事。
我在這里做錯了什么?
你試過了嗎:
var license = {
LicenseNumber: {
'Prefix': $(".cred1").val(),
'Number': $(".cred2").val(),
'SubCategory': $(".cred3").val()
}
}
var data = { 'FirstName': $(".firstName").val(), 'LastName': $(".lastName").val(), 'LicenseNumber': license }
dataSource: {
// code
data: JSON.stringify(data)
// code
}
請嘗試以下操作(請注意data
的其他引號):
dataSource: {
transport: {
read: {
url: Router.action("Search", "Index"),
type: "post",
contentType: "application/json",
dataType: "json",
data: "{
'FirstName': $(".firstName").val(),
'LastName': $(".lastName").val(),
'LicenseNumber': {
'Prefix': $(".cred1").val(),
'Number': $(".cred2").val(),
'SubCategory': $(".cred3").val()
}
}"
}
},
pageSize: 20
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.