1.window.location.href="new url".这个完全客户端方式, 对客户端有完全依赖,特别是js的依赖,所以会有不稳定现象.
2.Response.Redirect()这个方法实现的跳转依赖于客户端,所以理论上有lz说的不稳定现象;但是我从来没遇到过, 因为据我观察,它也是如楼主所说,写入http header实现跳转.但是这个和js没关系.
3.Server.Transfer()方法完全在服务器端跳转.它是Server的方法,而不是Response响应的方法,所以不依赖于客户端.由于是在服务器端跳转, 不存在web的请求/响应模式, 所以表单,验证什么的都会丢失.但是他只能在同一个应用程序.所以在不符合lz要求.
综上, Response.Redirect()还是最好的选择.
如果你要让页面显示几秒钟之后跳转,可以在html代码的<head></head>部分加上转样的代码:
<mate http-equit="refresh" content="3;url="http://www.admin5.com">
跳转为top页面的方法: parent.frames["有框架的name"].location.href='123.aspx';