在 mvc razor 中使用 jqGrid
我想要一个可以使用 jqGrid json 格式并绑定网格的类。
我认为您不需要定义任何类来生成jqGrid 所需的JSON 数据。您可以返回匿名对象:
public JsonResult DynamicGridData (string sidx, string sord, int page, int rows)
{
var query = ...;
var totalRecords = query.Count();
return Json(new {
total = (totalRecords + rows - 1) / rows,
page,
records = totalRecords,
rows = (from item in query
select new {
id = item.Id.ToString(),
cell = new[] {
item.FirstName,
item.LastName,
item.Votes.ToString(),
item.Title
}
}).ToList()
},
JsonRequestBehavior.AllowGet);
}
首先,这是在 Stackoverflow.com 上提问的错误方式,请阅读常见问题解答和whathaveyoutried.com
但是由于您是 Stackoverflow 的新手,我将为您回答这个问题,
public class JqGridModel<T>
{
public int page { get; set; }
public Int32? total { get; set; }
public Double? records { get; set; }
public IEnumerable<T> GridData { get; set; }
public JqGridModel<T> Bind(IEnumerable<T> data)
{
records = data.Count();
GridData = data;
page = 1;
return this;
}
}
也从你所说的评论中,
实际上我正在尝试将 jqgrid 与 mvc razor 和实体框架一起使用。
我建议您阅读这篇文章一次,它可能会有所帮助。这里也定义了一个 jqGrid 类...虽然上面的类更通用,但这完全取决于您的用例。
public class JqGridObject
{
public string Page { get; set; }
public int PageSize { get; set; }
public string SortColumn { get; set; }
public string SortOrder { get; set; }
public List<Fruit> Data { get; set; }
}
public class Fruit
{
public int Id { get; set; }
public string Name { get; set; }
}