asp.net-mvc - 如何在 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()
)
解决方案
您仍然可以通过网格原型设置它:
$.ui.igGrid.prototype.requestType = "POST"
在网格初始化代码之前的某处添加。
它未公开的原因是自动化远程操作(例如排序/过滤/分页等)仅适用于假定 GET 请求的 URL 中编码的参数。如果您自己处理远程操作,即您没有使用GridDataSourceActionAttribute装饰您的控制器方法,那么您没有理由不能通过上述原型更改来更改请求类型并从请求正文中读取和处理查询。
希望这可以帮助!
推荐阅读
- google-analytics - 我可以在我的网站上添加或嵌入谷歌分析行为流报告吗?
- ruby - 对哈希求和 - 我如何添加找到此哈希中订单的总成本
- excel - 如果单元格的颜色为绿色,则从 Sheet1 复制一行并将其粘贴到 Sheet 2
- sql-server - 在数据流任务中增加变量
- python-3.x - 如何按姓氏和名字将一组名称排序到嵌套列表中?
- asp.net-core - How to inject IUriHelper service in Blazor?
- spring-boot - 在生产者中使用 sendAndReceive() 时,多个@RabbitListeners 向同一队列发送回复
- amazon-cloudwatch - Cloudwatch 规则以匹配 ssm 层次结构
- swiftui - 如何在整个 App 中更改背景颜色?
- html - 最小高度和位置:绝对不能一起工作?