首页 > 解决方案 > 如何在 ASP.NET MVC igGrid 包装器中使用 HTTP POST 请求?

问题描述

通过指定 requestType 属性使用 ajax post 调用在 igGrid 中使用 HTTP POST 方法似乎很简单。但是,我无法找到任何方法在 ASP.NET MVC 包装器中为 igGrid 指定 requestType ( Infragistics 16.2 )。

@(Html.Infragistics()
        .Grid(Model)
        .ID("transactionGrid")
        .PrimaryKey("ID")
        .Height("550px")
        .Width("100%")
        .AutoGenerateColumns(false)
        .AutoGenerateLayouts(false)
        .Columns(column =>
        {
            column.For(x => x.ID).HeaderText("Broker");
            column.For(x => x.Category).HeaderText("Category");
            //column.For(x => x.BrokerName).HeaderText("Broker");
            column.For(x => x.ParAmount).HeaderText("Par").Format("N2");
            column.For(x => x.CommissionAmount).HeaderText("Commission").Format("N2");
        })
        .Features(features =>
        {
            features.Sorting().Type(OpType.Local);
            features.Filtering().Type(OpType.Local);
            features.Summaries()
                .Type(OpType.Local).CalculateRenderMode(SummaryCalculateRenderMode.OnSelect)
                .ColumnSettings(cs =>
                {
                    cs.ColumnSetting().ColumnKey("CommissionAmount").SummaryOperands(so =>
                    {
                        so.SummaryOperand().Type(SummaryFunction.Sum).Active(true);
                    });
                    cs.ColumnSetting().ColumnKey("ParAmount").SummaryOperands(so =>
                    {
                        so.SummaryOperand().Type(SummaryFunction.Sum).Active(true);
                    });
                    cs.ColumnSetting().ColumnKey("Category").AllowSummaries(false);
                    cs.ColumnSetting().ColumnKey("ID").AllowSummaries(false);
                });
        })
        .DataSourceUrl(Url.Action("GetTransactions"))
        .DataBind()
        .Render()
    )

标签: asp.net-mvcinfragisticsignite-uiiggrid

解决方案


您仍然可以通过网格原型设置它:

$.ui.igGrid.prototype.requestType = "POST"

在网格初始化代码之前的某处添加。

它未公开的原因是自动化远程操作(例如排序/过滤/分页等)仅适用于假定 GET 请求的 URL 中编码的参数。如果您自己处理远程操作,即您没有使用GridDataSourceActionAttribute装饰您的控制器方法,那么您没有理由不能通过上述原型更改来更改请求类型并从请求正文中读取和处理查询。

希望这可以帮助!


推荐阅读