2010-03-30 88 views
0

我想頁面和排序我的DataGrid裏面的ModalPopupExtender,但我不能以任何方式分頁,已經嘗試與<Triggers>,把UpdatePanel裏面,在外面,在中間,它不起作用。模式彈出不會關閉,但網格會消失。代碼:ModalPopupExtender + ASP.NET AJAX:不能頁面網格

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not Page.IsPostBack Then 
    BindData() 
    End If 
End Sub 
Private Sub btnSearch_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSearch.Click 
    SqlServerDS.SelectCommand = "SELECT * FROM emp WHERE name LIKE '%" & txtSearchName.Text & "%'" 
    BindData() 
End Sub 
Private Sub BindData() 
    grdSearch.DataSource = SqlServerDS 
    grdSearch.DataBind() 
End Sub 

Private Sub grdBuscaPaciente_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles grdSearch.PageIndexChanging 
    grdSearch.PageIndex = e.NewPageIndex 
    BindData() 
End Sub 

的設計裏面,這是代碼H:

<modalpopupextender> 
</modalpopupextender> 
<panel> 
<updatepanel> 
<gridview> 
</gridview> 
</updatepanel> 
</panel> 

回答

1

湯米是對的,所以你只需要重新顯示彈出窗口。 在PageIndexChanging事件中的BindData()之後,再次使用彈出式擴展器的Show()方法顯示面板。

此代碼是在C#中,但幾乎相同。

gvHorarioPB.DataSource = (DataTable)Session["Prueba"]; 
gvHorarioPB.PageIndex = e.NewPageIndex; 
gvHorarioPB.DataBind(); 

//mpePB is my modalpopupextender 
this.mpePB.Show(); 
0

如果您使用的是.NET AJAX工具包,請在每次單擊成才記(分頁,排序,等等),頁面執行回發,即使它看起來是AJAX-y。這意味着您每次都需要重新綁定數據。嘗試在你的頁面加載中刪除IfPostback,看看它爲你做了什麼。