.net response.redirect跳转 不跳转,网页url已变化就是不跳转。

我是编云网站长、网站为编程初学者收集优质的学习资源、而且还有QQ群(6977125)为你解答学习过程中遇到的问题。欢迎加入我们、订阅官方微信:bianyunwang。可以及时收到网站更新内容信息!
先看代码:///&&summary&
///&301永久重定向处理
///&&/summary&
///&&returns&&/returns&
public&ActionResult&Redirect()
&&&&return&RedirectPermanent(&http://www.bianyun.net&);
}以上方法是全局唯一跳转建议不要这样使用。因为如果后面带上请求路径的话这样还是跳转到首页。这样其实并不友好。&例如:请求:http://bianyun.net/abc/ef?key=love我们怎么能跳到:http://www.bianyun.net/abc/ef?key=love推荐在Global.cs中&protected&void&Application_BeginRequest(object&sender,&EventArgs&e)
&&&&&string&strUrl&=&Request.Url.ToString().Trim().ToLower();
&&&&&if&(strUrl.Contains(&http://bianyun.net&))
&&&&&&&&&&Response.RedirectPermanent(strUrl.Replace(&http://bianyun.net&,&&http://www.bianyun.net&));
&&}ASP.NET MVC4 增加了一个RedirectPermanent方法,该方法同样是重定向,但生成的HTTP响应状态不是上边所演示的302,而是301(永久跳转),301 是对搜索引擎最友好的重定向方式。你网站主域http://www.bianyun.net ,当人们访问http://bianyun.net 这个URL时,你就把他们重定向到http://www.bianyun.net,第一可以增加用户体验、有些人习惯输入网址带www、有些人不带www,做了301重定向处理都能友好的返回访问结果。第二:当搜索引擎爬到site:bianyun.net这个网址时,如果它不能很好地跟随重定向,它将认为http://bianyun.net请求下没有内容的,所以这个页面的排名将会非常靠后。大家都知道一级域名收录量要比二级域名收录量的好。因为这个是包含关系。当然301永久重定向可以做域名更换或者Url按照一定规则批量改变等一些有利自身网站权重的事情,如果我们把一个地址采用301 跳转方式跳转的话,搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。关于重定向是一级域名重定向二级还是二级重定向一级问题没有纠结的必要。我曾经不知道在那个网上看的说谷歌提倡使用不带www的。但是用户习惯www的输入习惯。这个没有定性结论。网站牛逼啥也一样。这个这里就不多提了。补充:IIS做301永久重定向处理(iis-找到网站-属性-主目录-选择重新定向到URL(U)-勾选 资源的永久重定向 )但发现一个问题,只有首页,或者内页,不带?参数的页面可以正常301重定向,而带有参数的内页,都丢失了参数。这样肯定不行,因为很多内页收录了。找了半天终于找到了解决办法:iis-找到网站-属性-主目录-选择重新定向到URL(U)(http://www.bianyun.net$S$Q)-勾选 资源的永久重定向和上面输入的准确URL(U)。OK,这样设置后,不管是首页,还是内页全站都有了301重定向了。&
欢迎学习交流、如发现文章有学术误导、疑问、补充等请评论下方或者加QQ群6977125交流!希望本文可以给你工作或学习过程带来帮助!
微信公众号
有道云笔记ASP.NET Response.Redirect 打开新窗口_最火下载站
您的位置: >
> ASP.NET Response.Redirect 打开新窗口
ASP.NET Response.Redirect 打开新窗口
一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write(&&script&window.location='http://dotnet.aspx.cc';&/script&&) 方法外,是不能在新窗口打开所指定的 URL 地址的。但是,如果仔细分析一下,如果设置 form 元素的 target 属性,还是有办法打开新窗口的。下面就是可以采用的两种方法。 方法一:在服务器端设置 target 属性,这个方法也非常适用于客户端不支持脚本的情况。代码如下: &%@ Page Language=&C#& AutoEventWireup=&true& %& &!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&& &script runat=&server&& protected void Page_Load(object sender, EventArgs e) { form1.Target = &_blank&; } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect(&http://dotnet.aspx.cc&); } &/script& &html xmlns=&http://www.w3.org/1999/xhtml&& &head id=&Head1& runat=&server&& &title&liehuo.net&/title& &/head& &body id=&b& runat=&server&& &form id=&form1& runat=&server&& &asp:Button ID=&Button1& runat=&server& OnClick=&Button1_Click& Text=&打开新窗口或者新 Tab & /& &/form& &/body& &/html& 办法二:采用客户端脚本的方法设置 target 属性。代码如下: &%@ Page Language=&C#& AutoEventWireup=&true& %& &!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&& &script runat=&server&& protected void Page_Load(object sender, EventArgs e) { Button1.Attributes.Add(&onclick&, &this.form.target='_newName'&); } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect(&http://dotnet.aspx.cc&); } &/script& &html xmlns=&http://www.w3.org/1999/xhtml&& &head id=&Head1& runat=&server&& &title&&/title& &/head& &body id=&b& runat=&server&& &form id=&form1& runat=&server&& &asp:Button ID=&Button1& runat=&server& OnClick=&Button1_Click& Text=&打开新窗口或者新 Tab & /& &/form& &/body& &/html& 上面两种方法中的 target 属性可以采用任何合法的名称,但要注意,如果相同名称的窗口已经打开,则新窗口会在已经存在名称的窗口里打开。 更新:如果需要设置弹出窗口的宽度和高度,可以修改为下面的方法: &%@ Page Language=&C#& AutoEventWireup=&true& %& &!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&& &script runat=&server&& protected void Page_Load(object sender, EventArgs e) { string WindowName = &win& + System.DateTime.Now.Ticks.ToString(); Page.RegisterOnSubmitStatement(&js&, &window.open('','& + WindowName + &','width=600,height=200')&); form1.Target = WindowN } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect(&http://dotnet.aspx.cc&); } &/script& &html xmlns=&http://www.w3.org/1999/xhtml&& &head id=&Head1& runat=&server&& &title&liehuo.net&/title& &/head& &body id=&b& runat=&server&& &form id=&form1& runat=&server&& &asp:Button ID=&Button1& runat=&server& OnClick=&Button1_Click& Text=&打开新窗口或者新 Tab & /& &/form& &/body& &/html& 另外一种弹出的方法可以参见老外的文章: http://weblogs.asp.net/infinitiesloop/archive//response-redirect-into-a-new-window-with-extension-methods.aspx 这里介绍Ihttpmodule处理请求管道的方法。Response.Redirect的原理是服务器设置返回http状态码为302,然后客户端执行跳转,用reflector可以看到.net的代码段。 以下是HttpResponse类的Redirect方法中的跳转代码 以下是HttpResponse类的Redirect方法中的跳转代码 this.StatusCode = 0x12e; this.RedirectLocation = 所以,我们可以扩展Ihttpmodule来拦截http状态码,强制设为200,同时插入js代码段来实现新窗口打开。以下是Ihttpmodule的实现代码 using S using System.Collections.G using System.T using System.W namespace ClassLibrary2 { public class Class1:System.Web.IHttpModule { public void Init(HttpApplication application) { application.PreSendRequestHeaders += new EventHandler(application_PreSendRequestHeaders); } void application_PreSendRequestHeaders(object sender, EventArgs e) { HttpApplication Application = (HttpApplication) HttpContext context = Application.C if (context.Response.StatusCode == 302) { context.Response.Write(&&script&window.open('&+context.Response.RedirectLocation+&')&/script&&); context.Response.StatusCode = 200; } } public void Dispose() { } } } 最后配置一下web.config就可以了 &?xml version=&1.0&?& &configuration& &system.web& &compilation debug=&true&/& &authentication mode=&Windows&/& &httpModules& &add name=&MyModule& type=&ClassLibrary2.Class1,ClassLibrary2&&&/add& &/httpModules& &/system.web& &/configuration& 另外一点,ms自坐主张的在跳转之后,end之前插入了这么一段代码,我得b4他们一下,解决办法,大家自己想想吧。 this.Write(&&html&&head&&title&Object moved&/title&&/head&&body& &); this.Write(&&h2&Object moved to &a href=&& + HttpUtility.HtmlAttributeEncode(url) + &&&here&/a&.&/h2& &); this.Write(&&/body&&/html& &);
上一篇: 下一篇:当前位置: →
→ Response.Redirect不跳转解决思路
Response.Redirect不跳转解决思路
& 作者:佚名 & 来源: 互联网 & 热度:
&收藏到→_→:
摘要: Response.Redirect()不跳转我在.CS的pageload事件里写了一个类似hanler功能的方法,因为不想请求(AJAX)其他的页面,在这个方...
"Response.Redirect不跳转解决思路"::
response.redirect()不跳转我在.cs的pageload事件里写了一个类似hanler功能的方法,因为不想请求(ajax)其他的页面,在这个方法里我写了一个session,在其中response.redirect()不起作用了,但是在判断ispostback里,session是写成功的了。求解释!------解决方案--------------------c# code
/// &summary&
/// 无消息提示(跳转页面)
/// &/summary&
/// &param name=&page&&页面&/param&
/// &param name=&jumpnum&&跳转参数&/param&
public void showpage(string page, int jumpnum)
string script = &&;
if (jumpnum == 0)
script = &&script&settimeout(function(){ window.location.href='& + page + &';},1000)&/script&&;
script = &&script&settimeout(function(){ parent.window.location='& + page + &';parent.closeeditor();},1000)&/script&&;
this.page.clientscript.registerstartupscript(this.gettype(), guid.newguid().tostring(), script);
------解决方案--------------------response.redirect(request.url.tostring());参考/7.html
------解决方案--------------------
探讨在webform1里用ajax请求的他 搜索此文相关文章:此文来自: 马开东博客
网址: 站长QQ
上一篇:没有了
Response.Redirect不跳转解决思路_ASP.NET技术相关文章
ASP.NET技术_总排行榜
ASP.NET技术_最新
ASP.NET技术_月排行榜
ASP.NET技术_周排行榜
ASP.NET技术_日排行榜Response.Redirect不能跳转
[问题点数:40分,结帖人yelang]
Response.Redirect不能跳转
[问题点数:40分,结帖人yelang]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年7月 挨踢职涯大版内专家分月排行榜第二2012年5月 扩充话题大版内专家分月排行榜第二2012年5月 挨踢职涯大版内专家分月排行榜第二2012年4月 扩充话题大版内专家分月排行榜第二2012年3月 挨踢职涯大版内专家分月排行榜第二
2012年10月 扩充话题大版内专家分月排行榜第三2012年9月 扩充话题大版内专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年5月 .NET技术大版内专家分月排行榜第三2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
2016年3月 .NET技术大版内专家分月排行榜第二2016年1月 .NET技术大版内专家分月排行榜第二2015年12月 .NET技术大版内专家分月排行榜第二2015年2月 .NET技术大版内专家分月排行榜第二2015年1月 .NET技术大版内专家分月排行榜第二2014年11月 .NET技术大版内专家分月排行榜第二2014年5月 .NET技术大版内专家分月排行榜第二2014年4月 .NET技术大版内专家分月排行榜第二2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
2016年5月 .NET技术大版内专家分月排行榜第三2016年4月 .NET技术大版内专家分月排行榜第三2016年2月 .NET技术大版内专家分月排行榜第三2015年10月 .NET技术大版内专家分月排行榜第三2015年9月 .NET技术大版内专家分月排行榜第三2015年7月 .NET技术大版内专家分月排行榜第三2015年6月 .NET技术大版内专家分月排行榜第三2015年5月 .NET技术大版内专家分月排行榜第三2015年4月 .NET技术大版内专家分月排行榜第三2014年12月 .NET技术大版内专家分月排行榜第三2014年10月 .NET技术大版内专家分月排行榜第三2014年9月 .NET技术大版内专家分月排行榜第三2014年1月 .NET技术大版内专家分月排行榜第三2013年12月 .NET技术大版内专家分月排行榜第三2013年10月 .NET技术大版内专家分月排行榜第三2013年5月 .NET技术大版内专家分月排行榜第三2011年9月 .NET技术大版内专家分月排行榜第三2011年2月 .NET技术大版内专家分月排行榜第三2010年2月 .NET技术大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 res.redirect不跳转 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信