2013-10-31 4 views
-3

나는 웹 페이지를 비어있는 페이지를 반환하는 것처럼 보이는 aspx 페이지 안에 가지고 있는데, 심지어 호출되는 것으로 생각하지 않는다. 무엇이 그것을 일으킬 수 있는가?aspx 웹 메서드는 빈 페이지를 반환합니까?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Data; 
using System.Configuration; 
using System.Text; 
using System.Web.Script.Serialization; 
using System.Web.Services; 
using System.Web.Script.Services; 

namespace Test.webservices.mainGrid 
{ 
    public partial class getMainGrid : System.Web.UI.Page 
    { 

     [WebMethod] 
     [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Xml)] 
     public static string GetRecords() 
     { 
     return "test"; 

     } 
    } 
    } 
+0

해결책은 무엇입니까? – mola10

답변

2

이것은 ASP.NET AJAX 페이지 메서드로, JavaScript (ASP.NET AJAX 또는 jQuery)를 통해 호출 할 수 있습니다. test 텍스트는 렌더링되지 않습니다. 페이지 수명주기가이 정적 방법으로 무엇을해야할지 모르기 때문입니다. 페이지에 렌더링 할 페이지 또는 로직에 마크 업이 없으므로 런타임에 페이지가 비어있게됩니다.

정적 인 방법이므로 실제 페이지 인스턴스의 일부가 아니므로 페이지 클래스 자체의 코드에서 호출 할 수 없습니다. 이를 위해 스크립트에서 이것을 호출하면 페이지의 다른 컨트롤에 액세스 할 수 없습니다. ASP.NET AJAX Page Methods는 클라이언트 쪽을 사용하도록 서버에서 데이터를 가져 오는 데 매우 유용합니다.

ASP.NET AJAX 페이지 방법에 대한 자세한 내용은 Using jQuery to directly call ASP.NET AJAX page methods을 참조하십시오.

저는 ASP.NET WebForms 프로젝트에서 지난 몇 년 동안 ASP.NET AJAX Page Methods를 광범위하게 사용했습니다. 그들은 서버에서 데이터를 가져와 사용자 인터페이스를 업데이트하는 데 유용합니다.

+0

안녕하세요, 저는 이것을 (다른 페이지에서) jQuery를 사용하여 호출하려고합니다. 나는 또한 브라우저에서 시도하고 난 그냥 빈 페이지를 얻을. 이것은 오직 스스로 호출 할 수 있습니까? – realtek

+0

@realtek - 아니요, 다른 페이지에서 페이지 메소드를 호출 할 수 있지만 URL에 페이지 이름과 정적 메소드 이름 (예 :'YourPageName.aspx/YourPageMethodName')을 지정해야합니다. 사용하려고하는 클라이언트 측 코드를 게시하면 더 많은 도움을 줄 수 있습니다. :-) –

+0

@realtek - 의도적으로 페이지 메서드가 기본 JSON 대신 XML을 반환하도록 만들었습니까? –

관련 문제