【问题标题】:ASP.NET MVC controller method input parameter - how does it get populated?ASP.NET MVC 控制器方法输入参数 - 它是如何填充的?
【发布时间】:2014-08-04 16:57:49
【问题描述】:

我正在尝试了解 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 对象,如何更改为不同的类型?

【问题讨论】:

    标签: asp.net-mvc jqgrid-asp.net


    【解决方案1】:

    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。使用该类型,您可以添加更多属性以匹配您想要添加的任何客户端提供的值,您可以在模型内部添加更多逻辑等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-16
      • 2018-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      相关资源
      最近更新 更多