버튼 클릭시 업데이트 패널 내부에있는 Gridview를 채우고 싶습니다. 현재 gridview는 화면에 표시되지 않지만 채워집니다. 내가 뭘 놓치고 있니? updatepanel에 대한버튼 클릭시 Gridview를 비동기 적으로 채우기
public delegate void BindGrid_Delegate();
protected void btnSearch_Click(object sender, EventArgs e)
{
try
{
// databind of all the controls
BindGrid_Delegate bd = new BindGrid_Delegate(BindGrid);
IAsyncResult ar = bd.BeginInvoke(null, null); //invoking the method
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "PageException", "alert('" + ex.Message + "');", true);
}
}
private void BindGrid()
{
try
{
DataSet ResultDataSet = GetData();
gvShowResult.DataSource = ResultDataSet;
gvShowResult.DataBind();
UpdatePanel2.Update();
}
catch (Exception ex)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "PageException", "alert('" + ex.Message + "');", true);
}
}
UpdateMode를 조건부입니다 : 다음은 내가 사용하는 코드입니다. 나는 어떤 도움을 주셔서 감사합니다.
btnSearch_Click에서 BindGrid()를 직접 호출하지 않는 이유는 무엇입니까? 델리게이트와 IAsyncResult는 더 나은 실행에 도움이되지 않기 때문에 제거해야합니다. –
안녕하세요, Tim BidnGrid에 직접 전화하면 매력처럼 작동합니다. 그러나 비공식 호출을 사용하려고합니다. –