我正在尝试了解ASP.NET MVC JQGrid示例。网格发出AJAX请求以获取其数据:
http://[thesiteurl]/[ControllerName]/GetGridData?_search=false&nd=14&rows=10&page=1&sidx=Id&sord=asc
控制器方法是:
public ActionResult GetGridData(GridSettings gridSettings)
如何将GET参数转换为GridSettings对象,以及如何使用其他类型更改?
答案 0 :(得分:2)
ASP.NET MVC框架有一个内置的模型绑定器,可以执行此任务。 (您也可以编写自定义模型绑定器。)最简单的方法是检查传入数据的键/值对,并将其与路由操作方法的方法参数相匹配。
检查请求,看起来您有以下内容:
_search: false
nd: 14
rows: 10
page: 1
sidx: Id
sord: asc
因此,例如,如果Gridsettings
对象的定义如下:
class GridSettings
{
public string _search { get; set; }
public int nd { get; set; }
public int rows { get; set; }
public int page { get; set; }
public string sidx { get; set; }
public string sord { get; set; }
}
然后,模型绑定器可以相应地将传入参数映射到模型的属性。
如果要定义具有相同属性的其他类型,则可以使用该类型代替GridSettings
。使用该类型,您可以添加更多属性以匹配您要添加的任何客户端提供的值,您可以在模型内部添加更多逻辑等。