2012-12-05 154 views
1

我有一個頁面,每次加載頁面(Page_Load)時都會刷新一些文本框。還有一個表需要太長的時間才能加載(無法使其更快)。ASP.Net UpdatePanel在頁面加載後刷新

我認爲使用UpdatePanel在文本框更新後加載該表。我可以使用RegisterStartupScript(更新文本框後)來更新UpdatePanel。

但是,UpdatePanel更新始終調用Page_Load,因此文本框總是會再次更新。這就像UpdatePanel沒用。

這怎麼解決?

回答

0

您可以在Page_Load中檢查,看它是否正在通過一個局部回傳叫(即從在UpdatePanel),如果然後不要更新文本框。

+0

謝謝,我會嘗試。無論哪種方式,UpdatePanel總是調用Page_Load。我經常使用jQuery來進行異步調用。但是,在這種情況下,該表具有運行時生成的控件,我使用服務器端。不要如何用jQuery來做到這一點。 – escar

+0

上面帖子中的垃圾郵件鏈接:( – Zeek

0

你的情況的簡單解決方案是使用asp.net ajax計時器以及更新面板。利用回發觸發器,你就完成了。

多看這裏:http://msdn.microsoft.com/en-us/library/bb386404(v=vs.100).aspx

讓我知道如果你需要更多的幫助

+0

感謝。我以前見過這個解決方案。但是,根據網絡等幾種情況,頁面加載時間會有所不同。不過,我會盡力的。 – escar

0

您可以檢查它是否在ASP.NET C#隱藏代碼回傳,例如:

if (! Page.IsPostBack)  

還是在客戶方的JavaScript這樣的:

<script type="text/javascript"> 
     function ClickHidenButton() 
     { 
      if (IsPostBack() != true) 
       document.getElementById("hiddenAsyncTrigger").click(); 
     } 

     function IsPostBack() { 
      var ret = '<%= Page.IsPostBack%>' == 'True'; 
      return ret; 
     } 
</script>