javascript - 如何将一组参数传递给 Kendo Grid 数据源?
问题描述
我想将一组数据传递给剑道网格数据源。该数组将是一组将特定汽车返回到网格的 ID,我不知道该怎么做。
通常,您可以通过直接将其声明为内联或(我更喜欢的方式)利用.Data
并指定 javascript 函数来将单个参数传递给网格。
.Read(read => read.Action("GetCars", "Grid").Data("myParams"))
然后,您将编写一个函数来返回您的数据,在本例中为单个 Id,以及您想要从记录中获取的任何其他内容。
function myParams() {
return {
name: "Holden",
id: 1
}
}
然后我们调整控制器方法以使用参数。
public ActionResult GetCars([DataSourceRequest] DataSourceRequest request, int Id)
{
var car = unitOfWork.CarRepository.Get()Where(x => x.Id == Id);
var result = car.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
这对于传递单个 Id 来说很好,但我需要传入它们的数组。我开始了一条我认为可以实现这一目标的道路,但老实说,我并不完全相信。我在javascript中做了一个非常粗略的初始方法,比如:
var cars = ["1", "2", "3"];
function myParams() {
return {
car: cars
}
}
然后我调整我的控制器以接受这样的数组:
public ActionResult GetTabVessels(string[] car, [DataSourceRequest] DataSourceRequest request)
{
// Not sure how to handle it at this stage :(
foreach (var item in car) {
Console.WriteLine(item);
}
//Need to adjust this to accept the array. Any ideas?
var car = unitOfWork.CarRepository.Get()Where(x => x.Id == Id);
var result = car.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
在这一点之后,我意识到我可能需要一些指导。那么,如何将一组参数(在我的情况下为 Id)传递给 Kendo Grid 数据源?
非常感谢
解决方案
正如评论中所讨论的,这是一个未经测试的如何将数组返回给 Kendo 的示例:
public ActionResult GetTabVessels(string[] car, [DataSourceRequest] DataSourceRequest request)
{
//ToList() is a Linq Extension
return Json(car.ToList().ToDataSourceResult(request));
}
推荐阅读
- vba - VBA如何在Do While函数中实现IF LEN?
- python - 从列表中获取数字的索引
- javascript - 为什么 Node.js 事件循环需要多个阶段?
- django - Django 2+ 中的多个可选 URL 参数
- jenkins - 如何重建 Jenkins 管道
- database - 仅为数据生成 liquibase 更改日志文件
- r - R Shiny Suppress滑块输入的滑块句柄,直到单击
- vba - 着眼于创建用户可以搜索数据并放入 Excel 电子表格的 VBA
- node.js - 如何将 dat-node 作为微服务运行?
- powershell - 尝试从 ForEach 循环中选择一个变量,如果该变量小于某个数字,则将另一个变量显示为红色