2008-10-02 5 views
2

ASP.NET 2.0을 AJAX Extension (1.0?)과 함께 사용하고 있으며 메소드를 비동기 적으로 호출하고로드 된 후 결과가 페이지에 채워지는지 궁금합니다. .페이지로드시 AJAX로 페이지 비동기 메소드 호출

상당히 오래 실행되는 SQL 쿼리로 채워진 gridview가 있습니다. 나는 모든 페이지가 처리 될 때까지 사용자가 빈 페이지를 응시하지 않고 서버에서 반환 될 때 페이지가 나타나도록하고 결과가 다시 유입되는 것을 선호합니다.

답변

0

업데이트 패널에 숨겨진 버튼을 배치하고 해당 버튼에 대한 포스트 백을 수행 할 수 있습니다. 우아한 솔루션이 아니지만 잘 작동합니다.

업데이트 패널에서 다음과 같이 작성할 수 있습니다.

protected void Page_Load(object sender, EventArgs e) 
{  
    if (!Page.IsPostBack) 
    { 
     ScriptManager.RegisterStartupScript(this, this.GetType(), "InitialLoad" + this.ClientID, Page.ClientScript.GetPostBackEventReference(btnLoad, "")+";", true); 
    } 
} 

이 그럼 당신은 (버튼의 OnClick 이벤트)하여 btnLoad_Click 방법에 시작할 때 실행될 코드를 작성할 수 있습니다 : 당신의 Page_Load 이벤트에

<div style="visibility:hidden"> 
    <asp:Button ID="btnLoad" OnClick="btnLoad_Click" runat="server"/> 
</div> 

당신은 다시 게시에 대한 스크립트를 등록해야합니다 .

AJAX 타이머를 사용하는 다른 방법을 시도해보고 첫 번째 틱에서 코드를 사용하지 않도록 설정했지만 코드 뒤에서 코드가 실행되기 전에 한 번 이상 틱이 표시되는 경우가 있으므로 해당 솔루션을 무시했습니다.