一、前端跳转(js)
1. window.open(pageURL,name,parameters)
在新窗口跳转。
2. location.href = pageURL
在本窗口跳转。
在js中,location其实是一个对象。href是location的一个string属性,表示当前页面的url。所以当改变href时,也就改变了当前页面的url,也就实现了跳转。
通过名称,我们可以很清楚的知道是下面这两个语句是什么页面进行了跳转:
parent.location.href = pageURL
top.location.href = pageURL
3. location.replace(pageURL)
在本窗口跳转。(需要在事件中加上return false)
粗粗一看,location.href和location.replace功能好像一样。但是既然有两个不同的函数出现,自然是有道理的。这里location.replace的不同之处在于,在实现页面跳转的同时,replace掉了客户端中原页面的缓存,这样使得页面不能后退了。这个特性在某些特定的情况下还是很有作用的。
4. location.reload(true/false)
刷新本页面。
这里关键是方法中true和false的含义。默认值为false,表示如果页面未修改,则从缓存中读取页面;如果页面已经修改,则重新从服务器申请页面。为true时,则不管页面有没有被修改,都从服务器中从新申请页面。
二、后台跳转(cs)
1. Response.Redirect(pageURL)
在本窗口跳转
2. Server.Transfer(pageURL)
在本窗口跳转。
从Server这个词中,我们也可以想到,Server.Transfer只能在服务器中跳转。实际上,Server.Transfer只能跳转到同一应用程序域下的页面。并且,因为只是在服务器中处理,没有经过前端,虽然页面跳转了,但是url仍然是原来的页面的。