2010-12-13 5 views
0

Ich muss einige Daten speichern und die ID zurückgeben, die in der SQL 2005-Datenbank erstellt wurde. Ich brauche die ID, um sie an ein anderes Objekt zu übergeben, bevor ich sie speichere, damit ich sie richtig zuordnen kann.ExtJS - Abrufen der ID des gerade gespeicherten Datensatzes

Was ist der beste Weg, dies mit Ext zu erreichen? Ist etwas in das Framework eingebaut, das dies vereinfacht?

Danke.

   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); 
        } 
       }); 
      } 

Antwort

1

Vorausgesetzt, dass Ihr Server die aktualisierten Daten mit der neuen ID zurückgibt, sollte der Antwortparameter Ihres Erfolgsrückrufs diesen enthalten. Bei Verwendung der in Stores integrierten Funktionen, die Ajax-Aufrufe automatisieren (z. B. Ext Direct, REST-API-Unterstützung usw.), wird die ID für Sie automatisch im entsprechenden Datensatz aktualisiert, und Sie können das Ereignis add des Geschäfts behandeln, um den Datensatz zu prüfen. Da Sie jedoch einen manuellen Ajax-Anruf durchführen, müssen Sie Ihre Antwort überprüfen, wenn Sie die ID sofort benötigen.

+0

Vereinbar dies ist Server-Seite nicht Client-Seite. – Darren

+0

Großartig. Danke für die Klarstellung. Ich muss den Proc anpassen, um den Rekordwert und die C# auch zurück zu geben. – PixelMuse

Verwandte Themen