0

sync当我在 ExtJS 上调用该方法store并且有一个对象要更新时,代理更新方法会以一个对象作为参数被调用。如果有更多对象要更新,则将一个对象数组传递给代理更新方法。

我的代理的端点是一个 MS MVC 控制器。我不能用单个对象和对象列表重载请求的方法(由于模型绑定,MVC 控制器不支持)。

我怎样才能使这项工作?(要么从 ExtJS 一次更新 1 个对象,要么对单个对象或对象数组使用不同的请求)

ExtJS 商店:

Ext.define('MyApp.store.Configuration', {
extend: 'Ext.data.Store',
requires: 'MyApp.model.Configuration',
model: 'MyApp.model.Configuration',
autoLoad: false,
isLoaded: false,
proxy: {
    type: 'ajax',
    actionMethods: { create: 'POST', read: 'POST', update: 'POST', destroy: 'POST' },
    limitParam: undefined,
    pageParam: undefined,
    startParam: undefined,
    api: {
        read: 'MyAppData/ConfigurationRead',
        create: MyAppData/ConfigurationUpdate',
        update: MyAppData/ConfigurationUpdate',
        destroy: MyAppData/ConfigurationDelete'
    },
    reader: {
        type: 'json',
        root: 'data',
        successProperty: 'success',
        messageProperty: 'message'
    }
},

MVC 控制器,不工作:

    [HttpPost]
    public ActionResult ConfigurationUpdate(List<Configuration> data)
    {
        // do something
    }

    [HttpPost]
    public ActionResult ConfigurationUpdate(Configuration data)
    {
        // do something
    }
4

1 回答 1

1

您是否查看过 JSON 编写器的 allowSingle 配置?http://docs.sencha.com/extjs/4.2.0/source/Json3.html#Ext-data-writer-Json-cfg-allowSingle

于 2013-05-24T15:28:33.500 回答