Angularjs 角度中的kendo网格排序数据源查询字符串
使用剑道角度指令Angularjs 角度中的kendo网格排序数据源查询字符串,angularjs,kendo-ui,kendo-grid,kendo-datasource,Angularjs,Kendo Ui,Kendo Grid,Kendo Datasource,使用剑道角度指令 <div kendo-grid k-data-source="MySource" k-filterable="true" k-pageable="true"></div> 数据加载很好(尽管我有一个字符串问题,它没有分页到第4页,而第4页可能与后端更相关) 我所做的一切就是调用asp.net控制器路由来返回数据,正如我提到的,分页似乎工作正常,但当我尝试使用可过滤的“get”查询字符串时,看起来有点像这样 /MyUrl?take=10&
<div kendo-grid k-data-source="MySource"
k-filterable="true" k-pageable="true"></div>
数据加载很好(尽管我有一个字符串问题,它没有分页到第4页,而第4页可能与后端更相关)
我所做的一切就是调用asp.net控制器路由来返回数据,正如我提到的,分页似乎工作正常,但当我尝试使用可过滤的“get”查询字符串时,看起来有点像这样
/MyUrl?take=10&skip=0&page=1&pageSize=10&filter%5Bfilters%5D%5B0%5Bfield%5D=LastName&filter%5Bfilters%5D.........value%5D=Smith
我的控制器看起来像这样
public JsonResult MyUrl(int pageSize = 10, int skip = 10, string sort = "", string filter="")
{
// return jsonresult
}
public class PagingOption
{
public PagingOption()
{
PageSizes = new List<int>();`enter code here`
}
/// <summary>
/// Specifies the current page number.
/// </summary>`enter code here`
public int take { get; set; }
/// <summary>
/// Specifies the number of items to show in a page.
/// </summary>
public int skip { get; set; }
public int page { get; set; }
public int pagesize { get; set; }
public List<SortDescription> sort { get; set; }
/// <summary>
/// Specifies different page sizes.
/// </summary>
public IList<int> PageSizes { get; set; }
}
public class SortDescription
{
public string field { get; set; }
public string dir { get; set; }
}
该URL发生了什么,我的控制器设置是否正确?我是否需要为默认剑道网格设置参数映射?这是默认参数映射正在执行的操作-将当前数据源状态传递给jQuery。您可以将状态作为JSON传递:
transport:{
read : {
url:"/MyUrl",
type: "POST",
contentType: "application/json"
},
parameterMap: function(options) {
return JSON.stringify(options);
}
},
创建这样一个类
public JsonResult MyUrl(int pageSize = 10, int skip = 10, string sort = "", string filter="")
{
// return jsonresult
}
public class PagingOption
{
public PagingOption()
{
PageSizes = new List<int>();`enter code here`
}
/// <summary>
/// Specifies the current page number.
/// </summary>`enter code here`
public int take { get; set; }
/// <summary>
/// Specifies the number of items to show in a page.
/// </summary>
public int skip { get; set; }
public int page { get; set; }
public int pagesize { get; set; }
public List<SortDescription> sort { get; set; }
/// <summary>
/// Specifies different page sizes.
/// </summary>
public IList<int> PageSizes { get; set; }
}
public class SortDescription
{
public string field { get; set; }
public string dir { get; set; }
}
它会将查询参数转换为分页选项类这是“更好的”,但是在我的mvc控制器中,排序和筛选的值在DataSourceRequest参数中将为空。DataSourceRequest仅适用于mvc包装器。我建议检查此选项作为替代:也许你也可以使用KendoGridBinderEx:,让我来看看知道这个是否也有效。