kendogrid处理java异常报错_如何通过Kendo Grid事件将参数数据传递给mvc中的控制器?...

我想从我的ajax函数传递很多参数到我的控制器 . 最初,我以为我会使用查询字符串来执行此操作,但这并没有给我我想要的结果,尽管它创建了一个没有吸引力的URL,我添加的数据越多 .

我认为更好的方法是获取我需要传递的所有数据,将其存储为对象并将该有效负载从ajax函数传递到控制器中 .

ajax函数是从 KendoGrid 的 .event() 属性触发的 .

Kendo Grid

@(Html.Kendo().Grid()

.Name("requirement-grid")

.Columns(columns =>

{

columns.Bound(c => c.Name);

columns.Command(command => command

.Custom("Test").Click("payload"));

})

.DataSource(dataSource => dataSource

.Ajax()

.Read(read => read.Action("GetCars", "cars"))))

从上面的代码中可以看出,有一个我用过的自定义命令会在你点击它时触发一个函数 . 该函数是 payload ,代码如下:

payload

function payload(e) {

e.preventDefault();

//Get row data

var dataItem = this.dataItem($(e.currentTarget).closest("tr"));

//Create Object

var obj = {

Name: dataItem.Name,

BHP: dataItem.BHP,

YearOfBuild: dataItem.YearOfBuild

}

//Post via Ajax

$.ajax({

type: 'POST',

url: '/Controller/Method/',

data: JSON.stringify({

array: obj

}),

cache: false,

dataType: "json",

contentType: "application/json; charset=utf-8",

success: function (data) {

console.log("Success");

},

error: function (ob, errStr) {

console.log(ob.responseText);

}

});

}

我访问被点击的行的数据并通过events参数传递给它,从那里我创建了一个对象并将数据添加到它 . 然后我创建一个ajax调用并尝试将其传递给控制器 .

控制器需要参数,代码如下,但为了简洁起见缩短了 .

Controller

public ActionResult Create(object[] obj)

{

return View(obj);

}

如果我在我的ajax函数中使用 "POST" ,则会收到关于缺少防伪令牌的错误 . 如果我使用 "GET" ,则 obj 参数始终为null .

所需的防伪cookie“__RequestVerificationToken”不存在 .

有没有更好的方法来做这个或我的方法不正确?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值