如何在VB.Net中强制完整页面重新加载(不刷新)

时间:2016-07-07 16:47:11

标签: asp.net .net vb.net

我有一个DropDownList,可让用户更改网站的主题样式表。它执行autopostback以将选择保存到我的数据库。在此保存后,我想强制完整页面重新加载(不刷新)。因此,重建了样式表的链接,并重置了表单。这可能吗?

我试过了两个:

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

甚至尝试过JavaScript:

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

但这些似乎只是引起了一次刷新。我寻求的方式就像我点击地址栏并按下[Enter]一样。

更新

这是一个不彻底思考问题的常见情况。我试图通过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

谢谢大家。

2 个答案:

答案 0 :(得分:0)

您可能希望尝试使用版本号执行缓存突发等操作,建议在:Force browser to clear cache

答案 1 :(得分: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">