Проверьте объект kendoUI DataSourceRequest в c # - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть инструмент, который выдает кучу бредов на моем сайте в целях безопасности, но одна вещь, которая вызывает ошибку в моей системе - это объект DataSourceRequest в контроллере. для образца кода:

[AcceptVerbs(HttpVerbs.Get)]
        public async Task<ActionResult> _GetGoodData([DataSourceRequest] DataSourceRequest request)
        {
            List<GoodData> reqs = await GetGoodDataAsync();
            return Json(reqs.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
        }

Я получу ошибку как:

Недопустимое свойство или поле - '19451827' для типа: GoodData Type = System.ArgumentException Source = Kendo.Mvc at Kendo.Mvc.Infrastructure.Implementation.Expressions.MemberAccessTokenExtensions.CreateMemberAccessExpression (IMemberAccessToken токен, экземпляр Expression) в Kendo.Mvc.Infrastructure.Implementation.Expressions.ExpressionFactory.MakeMemberAccess (Expression экземпляр, String memberName) в Kendo.Mvc.Infrastructure.Implementation.Expressions.PropertyAccessExpressionBuilder.CreateMemberAccessExpression () в Kendo.Mvc.Infrastructure.Implementation.Expressions.MemberAccessExpressionBuilderBase.CreateLambdaExpression () в Kendo.Mvc.Infrastructure.Implementation.SortDescriptorCollectionExpressionBuilder.Sort () в Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult [TModel, TResult] (IQueryable запрашиваемый, запрос DataSourceRequest, ModelStateDictionary modelState, Селектор Func`2)

Теперь мой вопрос: существует ли способ проверить объект запроса, чтобы увидеть, действительны ли его поля для объекта, к которому он применяется?

...