Kendo MVC核心 - 网格 - 无法获取路由数据 - 400 Bad Request

问题描述 投票:1回答:1

我刚刚开始了一份新合同,虽然我习惯使用Kendo,但这是我第一次使用Kendo Core。

通常我会有我的控制器,我的动作和绑定使用

.DataSource(ds => ds.Read(r => r.Action("RefreshRecommendationGridData", "ReportLookup")))

然而,我所处的公司大量使用路由

 [Authorize]
[Route("report-lookups")]
public class ReportLookupController : Controller
{
    [AccessRights("Lists")]
    [HttpPost]
    [Route("report-lesson-recommendations/manage")]
    public async Task<IActionResult> RefreshRecommendationGridData([DataSourceRequest] DataSourceRequest request)
    {
        var result = await _cacheService.SearchForReportLessonRecommendationsAsync(null);
        return Json(result.ToDataSourceResult(request));
    }
}

尝试此操作并查看开发人员工具和网络以及使用时

.DataSource(ds => ds.Read(r => r.Url("manage"))

我收到400 Bad Request错误。

我想我错过了一些东西,但是我完全失去了什么。我怀疑它很简单,但是,我在Telerik网站上找不到任何有用的东西。

如果我将其更改为[HttpGet],则会返回404错误。

我已经在没有路由的新控制器中尝试了最基本的调用,并且根据一个例子,我得到了相同的结果。

c# asp.net-core kendo-ui kendo-grid kendo-asp.net-mvc
1个回答
0
投票

我已经找到了答案,虽然在黑暗中经历了很多困扰,并且没有Telerik自己的使用或有价值的回应。

.Read(r => r.Action("RefreshRecommendationGridData", "ReportLookup").Data("sendAntiForgery"))

然后在javascript中

function sendAntiForgery() {
    return { "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val() }
}
© www.soinside.com 2019 - 2024. All rights reserved.