2011-10-06 139 views
0

我有一個asp.net項目。從javascript加載asp.net頁面

在頁面中有一個頁面被加載時被填充的表格中,每一行都有一個刪除按鈕,當它被點擊時,它將從服務器刪除該行並刷新頁面。我這樣做有

的WebMethod

上調用JavaScript使用回重定向到該頁面:

window.location.href = "HomePage.aspx"; 

的問題是,它並不真正重新加載頁面,但它只是刷新它,這樣頁面上顯示的表格仍然有被刪除的行,即使它真的被刪除了。

我填的表格在這樣的HomePage.aspx頁:

<table id="pipesTbl"> 
      <thead> 
       <tr> 
        <th>Name</th> 
        <th>Current Status</th> 
        <th>Last run summary</th> 
        <th>&nbsp;</th> 
        <th>&nbsp;</th> 
       </tr> 
      </thead> 
      <tbody> 
      <% 
       foreach (var name in Names) 
       {%> 
       <tr> 
        <td><% Response.Write(name.age);%><br /</td> 
        <td><% Response.Write(name.age);%><br />2 hours and 22 minutes...</td> 
        <td>Good<br />01/07/2011</td> 

       </tr>      
       <%} %> 
      </tbody> 
     </table> 

任何想法,我能做些什麼,使這項工作?

回答

1

我想這可能工作

location.reload(true); 

這是什麼文件說

重裝(forceget)從當前的URL重新加載文檔。 forceget是一個布爾值,當它爲true時,會導致頁面始終從服務器重新加載。如果它是錯誤的或未指定,瀏覽器可能會從緩存中重新加載頁面。

EDIT(評論說,舉行溶液): 如果你是在一個asp.net web表單的頁面加載的項目把這個。如果你是在MVC項目,我想那一定是在控制器(不知道)

C#版本(vb.net見註釋):

Random rd = new Random(); 
Response.AddHeader("ETag", rd.Next(1111111, 9999999).toString()); 
Response.AddHeader("Pragma", "no-cache"); 
Response.CacheControl = "no-cache"; 
Response.Cache.SetNoStore(); 
Response.Expires = -1; 
+0

謝謝,但它並沒有這樣的伎倆.. 。表只會在我註銷並重新登錄到頁面後再次正確載入......我不知道他爲什麼這樣做...... – Ovi

+0

在我看來,這隻能是緩存或數據庫問題。嘗試在這些方向上搜索。這個代碼(在VB.NET中)可能有助於Dim rd As New Random()Response.AddHeader(「ETag」,rd.Next(1111111,99999999).ToString())Response.AddHeader(「Pragma」,「no-緩存「)Response.CacheControl =」no-cache「Response.Cache.SetNoStore()Response.Expires = -1' – BBQ

+0

它可能是緩存問題。我如何使用上面的代碼?是要放?你可以請給我在C#中嗎? Thankyou – Ovi