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.
entsprechende Tags zu Ihrer Frage hinzufügen. –
@roryap 'vb.net' ist kein passendes Tag für eine' vb.net' Frage? –
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. –