【问题标题】:How to force a complete page reload (not refresh) in VB.Net如何在 VB.Net 中强制重新加载完整的页面(不刷新)
【发布时间】:2016-07-07 16:47:10
【问题描述】:

我有一个DropDownList,它允许用户更改网站的主题样式表。它会自动回发以将选择保存到我的数据库中。保存后,我想强制重新加载完整的页面(不刷新)。因此,样式表的链接被重建并且表单被重置。这可能吗?

我都试过了:

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

谢谢大家。

【问题讨论】:

  • 为您的问题添加适当的标签。
  • @roryap vb.net 不是vb.net 问题的合适标签?
  • 当然,但是您似乎在使用某些网络技术子集时遇到了问题? ASP.NET 可能吗?你现在有足够的代表知道这是如何工作的......我来到这里是因为我虽然这是一个一般的 vb.net 问题,而且我对 ASP.NET 了解不多,所以我很生气。这就是标签的目的;如果我看到了适当的标签,我会忽略这个问题。

标签: asp.net .net vb.net


【解决方案1】:

您可能想尝试使用版本号进行缓存突发之类的操作,建议在:Force browser to clear cache

【讨论】:

  • 我会快速尝试一下。
【解决方案2】:

也许您可以照常做......但也避免缓存,将此元添加到您的网页:

<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"> 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-17
    • 2020-02-01
    • 2016-02-11
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    相关资源
    最近更新 更多