我有一个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
谢谢大家。
答案 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">