response.redirect是请求转向,location.href 是浏览器转向.
1、Response.Redirect():
Response.Redirect方法导致浏览器链接到一个指定的URL。
当Response.Redirect()方法被调用时,它会创建一个应答,
应答头中指出了状态代码302(表示目标已经改变)以及新的目标URL。
浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求。
这就是说,使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):
第一次是对原始页面的请求,得到一个302应答,
第二次是请求302应答中声明的新页面,得到重定向之后的页面。
如果你请求含有response.redirect的页面时,在服务器端已经给你转向了,服务器遇到该语句时直接转向目的页面.
而location.href一般是浏览器遇到该语句时,重新向另一个地址进行请求,可见,response.redirect只是一次请求,而客户端使用location转向时要两次向服务器进行请求.
因为服务器端是不存在window等浏览器窗口的,所以location绝对不会是服务端代码,只能在客户端输出.
事实上,如果在客户端中,js语句中同样也存在redirect语句,这时两者的作用一样.
但机理不同,redirect只是一个转向语句,遇到该语句时,直接转向,客户端是两次请求的.
而location相当于你在地址栏中输入了地址后按回车! 如果对转向没有控制的话,两者在客户端是一样的.
但response.redirect往往用于服务端,而location只能用在客户端!
分享到:
相关推荐
本文将详细介绍如何使用`window.location.href`进行页面跳转,并探讨它与`Response.Redirect`的区别。 #### 使用场景 假设在一个ASP.NET项目中,当用户完成某个操作(例如注册账号),我们希望在显示一个提示信息...
为了解决这个问题,可以将`Response.Write`的内容包装在JavaScript的`alert`或`window.location.href`中,如下所示: ```csharp string a = "当前的记录变量"; Response.Write("<script language='javascript'>...
Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); ``` 这种方法通常用于与客户端交互较多的场景,例如用户点击按钮后刷新当前页面。 3. **Response.AddHeader(...
例如,你可以使用JavaScript的`window.location.href`来实现客户端的重定向。 4. **性能和用户体验**:使用`Response.Redirect()`时,应考虑其对性能和用户体验的影响。连续的重定向可能导致延迟,而不必要的重定向...
strScript += "location.href='index.html';"; strScript += "</script>"; bool b = ((Page)System.Web.HttpContext.Current.Handler).IsStartupScriptRegistered("PopUp"); if (!b) { ((Page)System.Web....
Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 这段代码会在页面加载时执行JavaScript,使得浏览器跳转到当前页面的URL。 3. **Response.AddHeader(...
例如,在`Button2_Click`事件中,`Response.Write`一段JavaScript代码,设置`window.location.href`为当前页面URL,这同样实现了页面刷新。 3. **Response.AddHeader("Refresh", "0")**: 添加HTTP响应头"Refresh...
Response.Write("<script language='javascript'>window.location.href=document.URL;</script>"); } ``` 这段代码中,当用户点击`Button2`时,会触发JavaScript代码的执行。这里使用`Response.Write()`方法输出一...
Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 或者使用更简洁的写法: ```csharp protected void Button3_Click(object sender, EventArgs e) { ...
Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 这种方法同样会导致页面的完全重新加载,但在某些情况下可能更灵活,例如结合JavaScript进行条件判断或处理。...
Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 方法三:使用Response.AddHeader() 在第三种方法中,我们使用Response.AddHeader()方法来刷新页面。这个...
- JavaScript 也支持定时刷新,例如`setTimeout`结合`location.href`: ```javascript setTimeout("location.href='url'", 2000); ``` 或者直接使用`self.location.reload()`: 5. **页面跳转与关闭**: - `...
Response.Write("<script language=javascript>window.location.href=document.URL;</script>"); } ``` 这段代码会在页面加载时执行JavaScript,改变当前窗口的URL,实现页面刷新。 3. **设置HTTP响应头...
这里通过 `Response.Write` 方法输出一段JavaScript代码,该代码的作用是设置 `window.location.href` 属性为当前页面的URL,从而实现页面的刷新。 ### 3. 使用 `Response.AddHeader` 设置 `Refresh` 头进行刷新 ...
location.href="blog/index.php"; } ``` 这段代码会检查当前页面URL是否包含“域名1”,如果是,则跳转到“blog/index.php”。 2. **VBScript响应重定向**: 使用VBScript和ASP内置的`Response.Redirect`...
`Response.Write("<script language='javascript'>window.location='Default2.aspx'</script>");` 通过改变window.location,会替换当前页面,打开新页面。浏览器地址栏会更新为新页面的URL。 6. **JavaScript的...
需要注意的是,`self.location.href` 和 `location.href` 实际上与 `window.location.href` 是等价的,因为 `self` 和 `window` 都代表当前的全局对象,所以在大多数情况下它们都可以互换使用。 除了简单的页面跳转...
<a href="#" onclick="javascript:history.back();">返回前一页 ``` 这里采用 `-2` 的值是因为在 ASP.NET 页面中,点击按钮后通常会触发页面回发 (postback),这会导致页面刷新两次。因此,使用 `-2` 可确保返回至...