常用的页面刷新方法(ASP.NET)

11/20/2010 2:24:33 AM

asp.net页面刷新有问题,收藏几种方法挺有用的.

第一:
private void Button1_Click( object sender, System.EventArgs e )  
{
     Response.Redirect( Request.Url.ToString( ) );
}
第二:
private void Button2_Click( object sender, System.EventArgs e )  
{
     Response.Write( "
     <script language=javascript>window.location.href=document.URL;
     </script>" );
}
第三:
private void Button3_Click( object sender, System.EventArgs e )  
{
     Response.AddHeader( "Refresh","0" );
}
第四:
private void Button6_Click( object sender, System.EventArgs e )  
{
     //好像有些不对?
     //Response.Write( "
     <script language=javascript>window.location.reload( );
     </script>" );
}
第五:(需替换<>)
<script><!--
var limit="3:00"
if ( document.images )
{
     var parselimit=limit.split( ":" )parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh( )
{
     if ( !document.images )returnif ( parselimit==1 )window.location.reload( )else
     {
         parselimit-=1curmin=Math.floor( parselimit/60 )cursec=parselimit%60if ( curmin!=0 )curtime=curmin+"分"+cursec+"秒后重刷本页!"elsecurtime=cursec+"秒后重刷本 页!"window.status=curtimesetTimeout( "beginrefresh( )",1000 )
     }
}
window.onload=beginrefresh//-->   </script><DIV style="Z-INDEX: 102;
LEFT: 408px;
POSITION: absolute;
TOP: 232px" ms_positioning="text2D">
<P><FONT size="3">自动刷新页面</FONT></P>
</DIV>第六:
<meta http-equiv="refresh" content="300;
url=target.html">

用window.location.href实现刷新另个框架页面
在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们经常使用Response.Redirect ,如果客户要在跳转的时候使用提示,这个就不灵光了,如:

Response.Write("<script>alert('恭喜您,注册成功!');</script>");
Response.Redirect("main.html");

这时候我们的提示内容没有出来就跳转了,和Response.Redirect("main.html");没有任何区别。

这时我们采用下面代码试验一下:

Response.Write("<script language=javascript>alert('恭喜您,注册成功!')</script>");
Response.Write("<script language=javascript>window.location.href='main.html'</script>");

这个即实现了我们的要求,在提示后,跳转页面。

最重要的是window.location.href 语句可以实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面(Response.Redirect无法达到,至少我没有发现):

如:index.htm页面中有二个框架,分别为 frameLeft和frameRight,在frameRight页面中执行服务器端代码后刷新frameLeft中的页面。

先前最常见的是注册之后,自动刷新登陆框,让登陆框换成已登陆页面,只要在注册成功的代码之后加上一段,即可以实现刷新另个框架的页面。代码如下:

Response.Write("<script language=javascript>alert('恭喜您,注册成功!')</script>");
Response.Write("<script language=javascript>window.parent.frameLeft.location.href='main.html'</script>");

自动刷新页面的实现方法总结:

1)
<meta http-equiv="refresh"content="10;url=跳转的页面">
10表示间隔10秒刷新一次
2)
<script language=''javascript''>
window.location.reload(true);
</script>
如果是你要刷新某一个iframe就把window给换成frame的名字或ID号
3)
<script language=''javascript''>
window.navigate("本页面url");
</script>
4>

function abc()
{
window.location.href="/blog/window.location.href";
setTimeout("abc()",10000);
}

刷新本页:
Response.Write("<script language=javascript>window.location.href=window.location.href;</script>")

刷新父页:
Response.Write("<script language=javascript>opener.location.href=opener.location.href;</script>")

转到指定页:
Response.Write("<script language=javascript>window.location.href='yourpage.aspx';</script>")


刷新页面实现方式总结(HTML,ASP,JS)
'by aloxy

定时刷新:
1,<script>setTimeout("location.href='url'",2000)</script>

说明:url是要刷新的页面URL地址
2000是等待时间=2秒,

2,<meta name="Refresh" content="n;url">

说明:
n is the number of seconds to wait before loading the specified URL.
url is an absolute URL to be loaded.
n,是等待的时间,以秒为单位
url是要刷新的页面URL地址

3,<%response.redirect url%>

说明:一般用一个url参数或者表单传值判断是否发生某个操作,然后利用response.redirect 刷新。

4,刷新框架页
   〈script language=javascript>top.leftFrm.location.reload();parent.frmTop.location.reload();</script〉

弹出窗体后再刷新的问题


Response.Write("<script>window.showModalDialog('../OA/SPCL.aspx',window,'dialogHeight: 300px; dialogWidth: 427px; dialogTop: 200px; dialogLeft: 133px')</script>");//open
             Response.Write("<script>document.location=document.location;</script>");

在子窗体页面代码head中加入<base target="_self"/>

刷新的内容加在    if (!IsPostBack) 中

在框架页中右面刷新左面
    //刷新框架页左半部分
    Response.Write("<script language=javascript>");
    Response.Write("parent.left.location.href='PayDetailManage_Left.aspx'");
    Response.Write("</script>");


页面定时刷新功能实现

有三种方法:
1,在html中设置:
<title>xxxxx</title>之後加入下面这一行即可!
定时刷新:<META HTTP-EQUIV="Refresh" content="10">
10代表刷新间隔,单位为秒

2.jsp
<% response.setHeader("refresh","1"); %>
每一秒刷新一次

3.使用javascript:
<script language="javascript">
setTimeout("self.location.reload();",1000);
<script>
一秒一次


页面自动跳转:
1,在html中设置:
<title>xxxxx</title>之後加入下面这一行即可!
定时跳转并刷新:<meta http-equiv="refresh" content="20;url=http://自己的URL">,
其中20指隔20秒后跳转到http://自己的URL 页面。


点击按钮提交表单后刷新上级窗口

A窗口打开B窗口

然后在B里面提交数据至C窗口

最后要刷新A窗口

并且关闭B窗口

几个javascript函数

//第一个自动关闭窗口
<script language="javascript">
<!--
function clock(){i=i-1
document.title="本窗口将在"+i+"秒后自动关闭!";
if(i>0)setTimeout("clock();",1000);
else self.close();}
var i=2
clock();
//-->
</script>

//第二个刷新父页面的函数

<script language="javascript">
opener.location.reload();
</script>


//第三个打开窗口

<script language="javascript">
function show(mylink,mytitle,width,height)
{mailwin=window.open(mylink,mytitle,'top=350,left=460,width='+width+',height='+height+',scrollbars=no')}
</script>