Hi,
I am using kendo grid and trying to set filters beforehand when grid is constructed. I am setting the filters for datasource. The problem is that when grid is rendered I always encounter the problem, exception is throws. Call stack is following.
System.ArgumentException was unhandled by user code
HResult=-2147024809
Message=Provided expression should have string type
Parameter name: stringExpression
Source=Kendo.Mvc
ParamName=stringExpression
StackTrace:
at Kendo.Mvc.Infrastructure.Implementation.Expressions.ExpressionFactory.LiftStringExpressionToEmpty(Expression stringExpression)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.GenerateToLowerCall(Expression stringExpression, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.GenerateCaseInsensitiveStringMethodCall(MethodInfo methodInfo, Expression left, Expression right, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.GenerateStartsWith(Expression left, Expression right, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.CreateExpression(FilterOperator filterOperator, Expression left, Expression right, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorExpressionBuilder.CreateBodyExpression()
at Kendo.Mvc.FilterDescriptor.CreateFilterExpression(ParameterExpression parameterExpression)
at Kendo.Mvc.FilterDescriptorBase.CreateFilterExpression(Expression instance)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()
at Kendo.Mvc.CompositeFilterDescriptor.CreateFilterExpression(ParameterExpression parameterExpression)
at Kendo.Mvc.FilterDescriptorBase.CreateFilterExpression(Expression instance)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterExpressionBuilder.CreateFilterExpression()
at Kendo.Mvc.Extensions.QueryableExtensions.Where(IQueryable source, IEnumerable`1 filterDescriptors)
at Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector)
at Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState)
at Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable enumerable, DataSourceRequest request)
at Kendo.Mvc.UI.DataSource.Process(DataSourceRequest request, Boolean processData)
at Kendo.Mvc.UI.Grid`1.ProcessDataSource()
at Kendo.Mvc.UI.Grid`1.WriteHtml(HtmlTextWriter writer)
at Kendo.Mvc.UI.WidgetBase.Render()
at Kendo.Mvc.UI.Fluent.WidgetBuilderBase`2.Render()
at xxxxxxxx.Execute() in xxxxxxxx.cshtml:line xx
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at RazorGenerator.Mvc.PrecompiledMvcView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
InnerException:
Any ideas how to proceed?
I am using kendo grid and trying to set filters beforehand when grid is constructed. I am setting the filters for datasource. The problem is that when grid is rendered I always encounter the problem, exception is throws. Call stack is following.
System.ArgumentException was unhandled by user code
HResult=-2147024809
Message=Provided expression should have string type
Parameter name: stringExpression
Source=Kendo.Mvc
ParamName=stringExpression
StackTrace:
at Kendo.Mvc.Infrastructure.Implementation.Expressions.ExpressionFactory.LiftStringExpressionToEmpty(Expression stringExpression)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.GenerateToLowerCall(Expression stringExpression, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.GenerateCaseInsensitiveStringMethodCall(MethodInfo methodInfo, Expression left, Expression right, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.GenerateStartsWith(Expression left, Expression right, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.CreateExpression(FilterOperator filterOperator, Expression left, Expression right, Boolean liftMemberAccess)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorExpressionBuilder.CreateBodyExpression()
at Kendo.Mvc.FilterDescriptor.CreateFilterExpression(ParameterExpression parameterExpression)
at Kendo.Mvc.FilterDescriptorBase.CreateFilterExpression(Expression instance)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()
at Kendo.Mvc.CompositeFilterDescriptor.CreateFilterExpression(ParameterExpression parameterExpression)
at Kendo.Mvc.FilterDescriptorBase.CreateFilterExpression(Expression instance)
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()
at Kendo.Mvc.Infrastructure.Implementation.Expressions.FilterExpressionBuilder.CreateFilterExpression()
at Kendo.Mvc.Extensions.QueryableExtensions.Where(IQueryable source, IEnumerable`1 filterDescriptors)
at Kendo.Mvc.Extensions.QueryableExtensions.CreateDataSourceResult[TModel,TResult](IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState, Func`2 selector)
at Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable queryable, DataSourceRequest request, ModelStateDictionary modelState)
at Kendo.Mvc.Extensions.QueryableExtensions.ToDataSourceResult(IQueryable enumerable, DataSourceRequest request)
at Kendo.Mvc.UI.DataSource.Process(DataSourceRequest request, Boolean processData)
at Kendo.Mvc.UI.Grid`1.ProcessDataSource()
at Kendo.Mvc.UI.Grid`1.WriteHtml(HtmlTextWriter writer)
at Kendo.Mvc.UI.WidgetBase.Render()
at Kendo.Mvc.UI.Fluent.WidgetBuilderBase`2.Render()
at xxxxxxxx.Execute() in xxxxxxxx.cshtml:line xx
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at RazorGenerator.Mvc.PrecompiledMvcView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
InnerException:
Any ideas how to proceed?