2010-12-13 19 views
0

データを保存し、SQL 2005データベースで作成されたIDを返す必要があります。 IDを保存する前に別のオブジェクトに渡す必要がありますので、それらを正しく関連付けることができます。ExtJS - 保存されたレコードの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); 
        } 
       }); 
      } 

答えて

1

サーバが新しいIDで更新されたデータを返すと仮定すると、成功コールバックの応答パラメータにはそれが含まれているはずです。 Ajax呼び出しを自動化するStoresに組み込まれた機能(Ext Direct、REST APIサポートなど)を使用する場合、IDは適切なレコードで自動的に更新され、ストアのaddイベントを処理してレコードを検査できます。しかし、手動のAjaxコールを行っているので、IDがすぐに必要な場合は、あなたの応答を調べることはあなた次第です。

+0

これは、サーバー側ではなくクライアント側であることに同意します。 – Darren

+0

素晴らしい。説明をありがとう。私はレコードの値とC#を返すようにprocを調整する必要があります。 – PixelMuse

関連する問題