JS实现各种页面的刷新功能

1.刷新当前页面

opener.location.replace(opener.location.href);

或者window.opener.window.location.href=window.opener.window.location.href;

2.如果以模态方式在当前页面上打开了一个窗体,在执行完模态窗体的任务后要刷新后台的页面并关闭当前页面,代码如下:

     string js = "window.top.opener.window.location.href=window.top.opener.window.location.href;

    window.top.close();"或者第一点的刷新代码操作

3.如果以模态方式在当前页面上打开了一个窗体,在执行完模态窗体的任务后要刷新后台的页面并关闭当前页面,同时还要保存后面窗体的一些查询条件进行刷新,那么就需要在当前页面上添加一个隐藏按钮(该按钮实现了查询功能),来实现隐形刷新:

/// <summary>

/// 在客户端弹出消息框(刷新页面)

/// </summary>

/// <param name="page">当前Page</param>

/// <param name="Message">显示消息</param>

/// <param name="refreshOpener">是否刷新父窗口</param>

/// <param name="closeSelf">是否关闭本窗口</param>

/// <param name="refreshLeft">是否刷新左侧菜单</param>

public static void Ajax_Alert(System.Web.UI.Page page, string message, bool refreshOpener, bool closeSelf, bool refreshLeft)

{

StringBuilder strScript = new StringBuilder();

strScript.Append("<script>alert(\"");

strScript.Append(message);

strScript.Append("\");");

if (refreshOpener)

{

strScript.Append("try{var btnRefreshJS=opener.document.getElementById('btnRefreshJS');}catch(err){}");

strScript.Append("if(btnRefreshJS!=null){btnRefreshJS.click();}");

strScript.Append("else{try{ opener.location.replace(opener.location.href);} catch(err){}}");

}

if (refreshLeft)

{

strScript.Append(" try{ opener.parent.fmLeft.document.getElementById('btnRefresh').click();} catch(err){}");

strScript.Append(" try{ parent.fmLeft.location.document.getElementById('btnRefresh').click();;} catch(err){}");

}

if (closeSelf)

{

strScript.Append("parent.window.opener=null;parent.window.close();");

}

strScript.Append("</script>");

System.Web.UI.ScriptManager.RegisterStartupScript(page, page.GetType(),

"", strScript.ToString(), false);

}

4.如果本窗体中嵌套了用户控件,用户在用户控件中调用的该刷新js,那么方法如下:

/// <summary>

/// 在客户端弹出消息框(刷新页面)

/// </summary>

/// <param name="page">当前Page</param>

/// <param name="Message">显示消息</param>

/// <param name="refreshOpener">是否刷新父窗口</param>

/// <param name="closeSelf">是否关闭本窗口</param>

/// <param name="refreshLeft">是否刷新左侧菜单</param>

public static void Ajax_UcAlert(System.Web.UI.Page page, string message, bool refreshOpener, bool closeSelf, bool refreshLeft)

{

StringBuilder strScript = new StringBuilder();

strScript.Append("<script>alert(\"");

strScript.Append(message);

strScript.Append("\");");

if (refreshOpener)

{

strScript.Append("try{var btnRefreshJS=parent.window.opener.document.getElementById('btnRefreshJS');}catch(err){}");

strScript.Append("if(btnRefreshJS!=null){btnRefreshJS.click();}");

strScript.Append("else{try{ opener.location.replace(opener.location.href);} catch(err){}}");

}

if (refreshLeft)

{

strScript.Append(" try{ parent.window.opener.parent.fmLeft.document.getElementById('btnRefresh').click();} catch(err){}");

strScript.Append(" try{ parent.window.parent.fmLeft.location.document.getElementById('btnRefresh').click();;} catch(err){}");

}

if (closeSelf)

{

strScript.Append("parent.window.opener=null;parent.window.close();");

}

strScript.Append("</script>");

System.Web.UI.ScriptManager.RegisterStartupScript(page, page.GetType(),

"", strScript.ToString(), false);

}

JS实现各种页面的刷新的更多相关文章

  1. js中进入页面后刷新一次,且只刷新一次

    让页面进行刷新,可以使用location.reload()方法,但是这种方法会让页面一直不断的刷新,这是因为当页面加载完成以后,我们让它刷新一次,那么浏览器就会重新向服务器请求数据,界面会重新加载,然 ...

  2. JS 模拟手机页面文件的下拉刷新

    js 模拟手机页面文件的下拉刷新初探 老总说需要这个功能,好吧那就看看相关的东西呗 最后弄出了一个简单的下拉刷新页面的形式,还不算太复杂 查看 demo 要在仿真器下才能看到效果,比如chrome的里 ...

  3. PHP 页面自动刷新可借助JS来实现,简单示例如下:

    <?php  echo "系统当前时间戳为:"; echo ""; echo time(); //<!--JS 页面自动刷新 --> echo ...

  4. 利用fastjson解析json并通过js&ajax实现页面的无跳转刷新

    1.json是一种优秀的数据格式,在移动开发和web开发中经常用到,本例中通过一个小案例讲解如何通过alibaba的开源框架fastjson来解析jason数据格式并通过js实现无跳转刷新 2,新建一 ...

  5. js返回上一级代码和刷新页面代码

    返回上一级代码: <a href="javascript:;" onclick="history.go(-1);" class="icon_ba ...

  6. js刷新页面得重新加载和页面的刷新

    1.reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当 ...

  7. js实现frame框架部分页面的刷新

    一.先来看一个简单的例子: 下面以三个页面分别命名为frame.html.top.html.bottom.html为例来具体说明如何做. frame.html 由上(top.html)下(bottom ...

  8. 简述在Js或Vue中监听页面的刷新、关闭操作

    1.背景 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失.而最近在做项 ...

  9. JS 重载页面,本地刷新,返回上一页

    JS 重载页面,本地刷新,返回上一页 : <a href="javascript:history.go(-1)">返回上一页</a> <a href= ...

随机推荐

  1. linux c遍历文件夹 和文件查找的方法

    linux c遍历文件夹的方法比较简单,使用c来实现 #include <iostream> #include <stdio.h> #include <sys/types ...

  2. F(x)

    Problem Description For a decimal number x with n digits (AnAn-1An-2 ... A2A1), we define its weight ...

  3. VellCar(barracuda buggy)

    这是我的新目标,不过是外国人设计的,youtube上好多相关视频,只是在中国被墙了,FQ能看到一个不一样的世界,附:FQ教程.国外好多玩车的都是选择这辆车,因为它结构紧凑,制作相对简单,但越野性能强悍 ...

  4. Jni 类型转换接口

    1.JString char*互相转化 char* JstringToChar(JNIEnv* env, jstring jstr) { char* rtn = NULL; jclass clsstr ...

  5. HDU-3622 Bomb Game 2sat

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3622 题意:一个平面上有很多的炸弹,每个炸弹的爆炸范围是一样的,求最大的爆炸范围使得炸弹之间不相互影响 ...

  6. CodeForces 540D--Bad Luck Island(概率DP)

    貌似竟然是我的第一道概率DP.. 手机码代码真不舒服.... /************************************************ Memory: 67248 KB Ti ...

  7. 细说Oracle数据库与操作系统存储管理二三事

    在上大学的时候,学习操作系统感觉特别枯燥,都是些条条框框的知识点,感觉和实际应用的关联不大.发现越是工作以后,在工作中越想深入了解,发现操作系统知识越发重要.在实践中结合理论还是不错的一种学习方法.自 ...

  8. Linux的五个查找命令:find,locate,whereis,which,type

    使用电脑的时候,经常需要查找文件. 在Linux中,有很多方法可以做到这一点.国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条.大多数程序员,可能经常使用其中的2到3条,对这5条命令 ...

  9. nyoj 282 You are my brother

    You are my brother 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 Little A gets to know a new friend, Litt ...

  10. smarty对网页性能的影响

    百度有个VUI模块,它负责将所有的广告信息縇染成HTML返回给调用方,它采用的是HHVM,縇染模板用的是smarty,前端服务器用的是nginx. 此前知道,新浪微博以前也用的是smarty,自从鸟哥 ...