2010-12-13 3 views
0

일부 데이터를 저장하고 SQL 2005 데이터베이스에서 생성 된 ID를 반환해야합니다. 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 호출을 자동화하는 상점 (예 : Ext Direct, REST API 지원 등)에 내장 된 기능을 사용할 때 ID는 해당 레코드에서 자동으로 업데이트되며 매장의 add 이벤트를 처리하여 레코드를 검사 할 수 있습니다. 그러나 수동 Ajax 호출을 수행하고 있기 때문에 ID가 필요한 경우 응답을 검사하는 것은 사용자의 몫입니다.

+0

이것은 클라이언트 측이 아닌 서버 측과 동의합니다. – Darren

+0

좋습니다. 해명 해줘서 고마워. proc을 조정하여 레코드 값과 C#을 다시 전달해야합니다. – PixelMuse

관련 문제