Как использовать HTTP-запрос POST в оболочке igGrid ASP.NET MVC? - PullRequest
0 голосов
/ 18 октября 2018

Кажется довольно простым использовать метод HTTP POST в igGrid, используя пост-вызов ajax, указав атрибут requestType.Но я не могу найти какой-либо метод для указания requestType в оболочке ASP.NET MVC для igGrid (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()
    )

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Я нашел ответ: Поскольку основной сценарий использования Grid ASP.NET MVC Wrappers должен использоваться при обработке серверной стороны функций удаленной сетки, опция «requestType» не отображается в оболочке, поскольку серверобработка побочных функций (GridModel.GetData и GridDataSourceAction) работает только с методом HTTP GET.

Представление requestType в оболочке MVC - это то, что они с нетерпением ожидают реализовать в будущей версии Ignite UI для JavaScript, ноIgnite UI 16.2 не поддерживается, поэтому в него не входит.

0 голосов
/ 18 октября 2018

Вы все еще можете установить его через прототип сетки с помощью:

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

, добавленного где-то перед кодом инициализации сетки.

Причина, по которой он не раскрывается, заключается в том, что автоматизированные удаленные операции, такие как сортировка / фильтрация / разбиение на страницы и т. Д., Работают только с параметрами, закодированными в URL-адресе, который предполагает запрос GET.Если вы обрабатываете удаленные операции самостоятельно, то есть вы не декорируете методы вашего контроллера с помощью GridDataSourceActionAttribute , нет никаких причин, по которым вы не можете изменить тип запроса с помощью вышеупомянутого изменения прототипа, а также прочитать и обработать запрос изтело запроса.

Надеюсь, это поможет!

...