2011-04-29 4 views
0

이 아니고 AjaxMethod의 [Ajax.AjaxMethod] 태그가 붙은 메서드를 호출 할 수 있습니까? 기본적으로 UpdatePanel 내부에있는 GridView 컨트롤을 채우는 메서드가 있습니다. 일부 데이터를로드하고 일부 속성 등을 설정합니다. 그러나 Ajax 메소드에서이 메소드를 호출해야 비 Ajax 메소드와 동일한 정보가 전달됩니다. 문제는 현재 AjaxMethod가 메서드를 호출하여 NullReferenceException을 발생 시키면 GridView 컨트롤이 null이라는 것입니다.Ajax.AjaxMethod가 아닌 Ajax 메소드를 호출합니까?

Ajax 메소드가 페이지의 컨트롤에 액세스 할 수 있도록이 문제를 어떻게 해결할 수 있습니까? 나는 런타임에 컨트롤을 간단하게 다시 인스턴스화 할 수 있다고 생각하지 않는다. JavaScript를 통해 직접 호출하는 대신 UpdatePanel 또는 이와 비슷한 Ajax 코드를 실행해야합니까? 일부 클라이언트 측 처리를 콜백으로 처리해야하므로 JavaScript에서 직접 AjaxMethod를 호출하는 것이지만 메소드로 채워진 페이지의 컨트롤에는 액세스 할 수 없습니다.

답변

0

왜 Jquery의 AJAX 메소드를 사용하지 않습니까?

$.ajax({ 
      type: "POST", 
      url: <URL of your method>, 
      success: function (data) { 

      } 
     }); 
+0

페이지의 서버 측 컨트롤에서 해당 작업을 수행 할 수 있습니까? 웬일인지 나는 항상 내가 그렇게 할 수 없다고 생각했다. 나는 그것을 시험해야 할 것이다. AjaxMethods와 UpdatePanels를 제외한 다른 모든 것들에 대해 jQuery를 사용하고 있기 때문에 훨씬 쉽습니다. –

+0

사용중인 서버 측 컨트롤에는 어떤 것이 있습니까? 텍스트 상자 등을 렌더링하는 내장 서버 컨트롤 ID를 통해 액세스하여 AJAX 호출을 통해 업데이트 할 수 있습니다. 또는 데이터 바인딩이되어있는 경우 AJAX 호출을 통해 서버에서 업데이트 할 수 있습니다. – slandau

+0

기본적으로 ajax 메서드는 UpdatePanel 내부에있는 GridView의 속성을 설정하는 메서드에 DataSet 및 문자열을 전달합니다. 현재 데이터가 있지만 GridView 컨트롤이 null입니다. –

관련 문제