如何完全刷新(ctrl+f5)一个页面使用asp.net
How to completely refresh (ctrl+f5) a page using asp.net?
我现在正在使用asp.net (Dotnetnuke)项目。我需要动态地更改页面中的图像。当点击替换按钮(asp:Button
)时,有时图像无法在页面上动态替换。当按ctrl+F5时,它会改变。我的问题是,如何通过c#代码重新加载缓存?
另一个问题是,有时我通过存储一些值到数据库来替换页面中的图像,并按ctrl+F5以在页面中进行更改,但在单击ctrl+F5时显示一个带有取消或重试按钮的对话框(在Firefox和IE上)。单击其中任何一个都会将相同的值存储到数据库中。如果我们再次刷新页面,数据库中的值是3倍。
无法清除浏览器缓存。唯一的想法是在c#代码中在页面加载中声明一个会话变量,并在第一次将其值设置为1
if (!IsPostBack)
{
Session["refresh"]="1"
}
你需要在图片上传按钮事件中设置session变量session ["refresh"]="1"然后在按钮事件中创建一个刷新按钮,执行以下操作这一切。完成上传后,单击刷新按钮。然后按ctrl+f5按钮。如果在刷新按钮事件中未将会话值设置为0,则将再次发生最后一个事件。如果您在数据库中输入一个值,如果您没有设置会话变量0,则会发生相同的任务。
if(Session["refresh"].ToString()=="1")
{
Response.Write("<script type='text/javascript'>locaton.reload()</script>");
Session["refresh"]="0";
}
JavaScript无法为您访问转储缓存,抱歉。c#运行在服务器上,而不是客户端,所以它也帮不上忙。
如果你想打破页面中某些项目的缓存,你可以添加一个随机参数
<img src="a.gif?x=123456">
(我喜欢使用时间戳)
或者,如果这是为了测试目的,关闭浏览器中的缓存
您可以通过管理用户控件来操作网页各个部分的缓存特性。同时检查你的页面指令。
<%@ OutputCache Duration="#ofseconds" Location="Any | Client | Downstream | Server | None" Shared="True | False" VaryByControl="controlname" VaryByCustom="browser | customstring" VaryByHeader="headers" VaryByParam="parametername" %>
ASP的缓存功能。NET是非常广泛的。我建议你花点时间研究应用指令;
- 借助asp.net验证或java脚本对多个文本进行验证
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用ASP.NET将谷歌地图添加到项目中,并从数据库中检索位置
- 有什么“;错误的”;将javascript放在asp.net表单上,而不是放在单独的文件中
- 将Javascript日期转换为ASP.NET日期格式
- C#asp.net mvc Set CheckBoxFor已检查的具有Model Value的属性
- 如何使用javascript vb.net asp.net关闭web表单
- 在Ext.net (ASP.NET)中上传完成事件
- 以编程方式滚动/移动到.net asp:listview控件中的一个项目