2016-07-07 526 views
-1

我有一個DropDownList,它允許用戶更改網站的主題樣式表。它做了一個autopostback將選擇保存到我的數據庫。保存後,我想強制一個完整的頁面重新加載(而不是刷新)。所以到樣式表的鏈接被重建並且表單被重置。這可能嗎?如何在VB.Net中強制整個頁面重新加載(不刷新)

我曾經嘗試都:

Response.Redirect(Request.Url.AbsoluteUri) 
Response.Redirect(Request.RawUrl) 

,甚至試圖JavaScript的:

window.location.reload(); 
window.opener.location.href = window.opener.location.href; 

但這些似乎只是引起刷新。我尋找一種方式,就好像我點擊地址欄並按[Enter]

UPDATE

這是通過徹底沒有想到事情常見的情況。我試圖通過iframe來執行這些操作,但父頁面實際上是設置主題樣式表的那個頁面。我最終通過簡單地完成了這項工作:

If IsPostBack() Then 
    Dim sb As New StringBuilder() 
    sb.Append("<script type=""text/javascript"">") 
    sb.Append("window.top.location.reload();") 
    sb.Append("</script>") 
    ClientScript.RegisterStartupScript(Me.GetType(), "reload", sb.ToString()) 
End If 

謝謝大家。

+0

添加適當的標記你的問題。 –

+0

@ roryap'vb.net'不是'vb.net'問題的適當標記嗎? –

+0

當然,但您似乎在使用某些網絡技術子集時遇到問題? ASP.NET可能?你有足夠的代表知道現在是如何工作的......我來到這裏是因爲我雖然是一個普通的VB.net問題,但我對ASP.NET不太瞭解,所以我很惱火。這就是標籤的用途;如果我看到了合適的標籤,我會忽略這個問題。 –

回答

0

你可能想嘗試做一些像緩存,版本號,建議在破裂:Force browser to clear cache

+0

我會快速嘗試一下。 –

+0

@lamelemon,做過這個工作嗎? –

0

也許你可以爲你做....但也避免了緩存做的,添加此元到你的網頁:

<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0"> 
<meta http-equiv="pragma" content="no-cache"> 

而且舊日期

<meta http-equiv="expires" content="Sat, 31 Oct 2014 00:00:00 GMT"> 
相關問題