2016-07-07 5 views
-1

Ich habe eine DropDownList, die der Benutzer das Thema Stylesheet für eine Website ändern kann. Es macht einen Autopostback, um die Auswahl in meiner Datenbank zu speichern. Nach dem Speichern möchte ich eine komplette Seite neu laden (nicht aktualisieren). Der Link zum Stylesheet wird neu erstellt und das Formular wird zurückgesetzt. Ist das möglich?Wie erzwinge eine komplette Seite neu zu laden (nicht aktualisieren) in VB.Net

Ich habe beide versucht:

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

Und sogar versucht, JavaScript:

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

aber diese scheinen nur eine Auffrischung zu verursachen. Ich suche einen Weg, der so wirkt, als ob ich in die Adressleiste geklickt hätte und [Enter] gedrückt hätte.

UPDATE

Dies war ein häufiger Fall von nicht Dinge durch gründlich nachzudenken. Ich habe versucht, diese Aktionen über eine iframe zu tun, aber die übergeordnete Seite war eigentlich diejenige, die das Thema Stylesheet festgelegt. Ich endete damit, dies einfach zu erreichen:

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 

Danke an alle.

+0

entsprechende Tags zu Ihrer Frage hinzufügen. –

+0

@roryap 'vb.net' ist kein passendes Tag für eine' vb.net' Frage? –

+0

Sicher, aber Sie scheinen Probleme mit einigen Web-Technologie-Sub-Set zu haben? ASP.NET möglicherweise? Sie haben genug Rep zu wissen, wie das jetzt funktioniert ... Ich kam hierher, weil ich es war eine allgemeine vb.net Frage, und ich weiß nicht viel über ASP.NET, so dass ich genervt war. Das ist der Zweck von Tags; Hätte ich die passenden Tags gesehen, hätte ich die Frage einfach ignoriert. –

Antwort

0

Vielleicht möchten Sie versuchen, etwas wie Cache zu tun mit der Versionsnummer platzt, die in vorgeschlagen wird: Vielleicht können Sie Force browser to clear cache

+0

Ich gebe das einen kurzen Versuch. –

+0

@lamelemon, Hat das funktioniert? –

0

tun, was Sie tun .... aber auch Cache zu vermeiden, das Hinzufügen dieser Meta Ihre Webseite:

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

Und ein altes Datum

<meta http-equiv="expires" content="Sat, 31 Oct 2014 00:00:00 GMT"> 
Verwandte Themen