2

当一个 ajax 调用时,我遇到了为 POST 方法实现防伪令牌,我在这里做的几件事是

[1]包括[ValidateAntiForgeryToken]我的 POST 控制器方法的属性。

[2]在我的 js 中更改$.ajax调用。$.ajaxAntiForgery

同样,我有一个telerik上传控件,我从cshtml触发控制器方法(而不是ajax调用)-下面的cshtml代码片段

@{ var upload = @Html.Telerik().Upload()
                .Name("attachments")
                .Multiple(true)
                .Async(async => async.Save("MyMethodName", "MyConrollerName")

在这种情况下,如何实施防伪?我需要在 cshtml、控制器中做哪些更改?

谢谢, 阿达什

4

1 回答 1

3

您好,如果您使用 MVC 的 Kendo Upload 包装器,防伪将自动发送到服务器。

由于您使用的是旧扩展,您可能需要使用OnUpload事件手动查找该值并将其发送到服务器。

例如

function onMyUpload(e){
    e.data = { "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val() };
}
于 2012-12-03T22:33:00.967 回答