我是新來的ASP.net,並試圖使一些超級慢代碼運行得更快。ASP.net:刷新GridView而不刷新整個頁面? (AsyncPostBackTrigger真的很慢)
目前,代碼在UpdatePanel中使用GridView。 UpdatePanel位於模式彈出窗口內。無論何時打開該模式,都必須刷新內容。我們通過使用AsyncPostBackTrigger來完成這項工作,據我所知,它在返回和渲染表格之前會遍歷整個頁面生成周期。
.aspx.cs
public void UpdateWatchListPopup(object sender, System.EventArgs e)
{
grdWatchList.DataBind();
}
的.aspx:
<asp:UpdatePanel ID="UpdatePanel3" runat="server" >
<Triggers>
<asp:AsyncPostBackTrigger ControlID="UpdateWatchListPopupBtn" EventName="Click" />
</Triggers>
<ContentTemplate>
<div style="display:none">
<asp:Button ID="UpdateWatchListPopupBtn" runat="server" Text="" OnClick="UpdateWatchListPopup" />
</div>
<asp:GridView ID="grdWatchList" OnSorting="grdWatchList_Sorting" runat="server" OnRowCreated="grdWatchList_RowCreated" OnRowDataBound="grdWatchList_RowDataBound" AllowSorting="true" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
這實在是太慢了(它需要5秒鐘顯示的結果),這是不是因爲有很多數據返回!我的猜測是Page_Load()正在做一些不必要的計算來刷新特定的GridView。
是否有任何其他方式異步刷新GridView?我想過使用WebMethod來獲取數據,然後從客戶端手動重新填充表。我想知道是否有其他選擇?
謝謝
不第一次加載頁面需要5秒鐘嗎? – VDWWD
是的。基本上,整個應用程序都在一個頁面中,所有的數據在開始時都被提取。 –