【问题标题】:ExtJS - Getting ID of record that was just savedExtJS - 获取刚刚保存的记录的 ID
【发布时间】:2010-12-13 21:41:05
【问题描述】:

我需要保存一些数据并返回在 SQL 2005 数据库中创建的 ID。我需要在保存之前将 ID 传递给另一个对象,以便正确关联它们。

使用 Ext 完成此任务的最佳方法是什么?框架中是否有任何内置功能使这变得简单?

谢谢。

                function AddPromotionType() {
                var currentDate = new Date();
                var newTypeJsonObject = {
                    promotionTypeId: '0',
                    promotionType: Ext.getCmp('txtPromoType').getValue(),
                    updatedBy: userid, 
                    updateDate: currentDate
                }

                // serialize our service object
                var newLevelJsonData = Ext.encode(newTypeJsonObject);

                // call the web service and pass over our service object
                Ext.lib.Ajax.defaultPostHeader = 'application/json';
                Ext.Ajax.request({
                    url: 'Service/AddPromoType',
                    method: 'POST',
                    params: newLevelJsonData,
                    success: function(response, options) {
                        AddTypeWindow.destroy();
                        AddTypeWindow.hide();

                        // refresh dropdown to reflect new data

                        Ext.getCmp('newPromoType').getStore().reload();                        
                    },
                    // if data fails to save, show message
                    failure: function(response, options) {
                        Ext.MessageBox.alert('Error saving new promotion type', response.responseText);
                    }
                });
            }

【问题讨论】:

    标签: javascript asp.net wcf extjs


    【解决方案1】:

    假设您的服务器正在使用新 id 传回更新的数据,那么您的成功回调的响应参数应该包含它。当使用 Stores 内置的自动化 Ajax 调用的工具(例如,Ext Direct、REST API 支持等)时,id 会自动更新到适当的 Record 上,您可以处理 store 的 add 事件来检查 Record。但是,由于您正在执行手动 Ajax 调用,因此如果您立即需要该 ID,则由您来检查您的响应。

    【讨论】:

    • 同意这是服务器端而不是客户端。
    • 太棒了。感谢您的澄清。我将不得不调整 proc 以传回记录值和 C#。
    猜你喜欢
    • 2011-07-31
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 2017-07-04
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    相关资源
    最近更新 更多