我知道可以通过target='_blank' 实现,如下:
<asp:LinkButton href='info/main.aspx' target='_blank' ID="LbkInfoManage" runat="server">
但是我现在的方式是
<asp:LinkButton target='_blank' ID="LbkInfoManage" runat="server" onclick="LbkInfoManage_Click">1</a>
protected void LbkInfoManage_Click(object sender, EventArgs e)
{
Response.Redirect("info/main.aspx?uid=" + uid);
}
我这时候(没有在<asp:LinkButton中添加href,而是利用Redirect跳转)在<asp:LinkButton后面添加target='_blank' 就不行了,打不开连接,我该怎么在Redirect的情况下实现新打开窗口???
------解决方案--------------------------------------------------------
前台页面跳转:
1、带frame的跳转
a window.frames.frameName.location.href= url; //frameName代表某个frame,url代表跳转的路径。
b 打开一个新窗口,window.open(url,'frameName');
2、不带frame的跳转
a window.location.href=url;
b window.history.back(-1);//后退
c window.history.go(-1||-2||...);//后退到前一||二||。。。页面
d window.navigate(url);
e self.location = url;
f top.location = url;
g window.location.reload();//刷新当前页面
h parent.location.reload();//刷新父亲对象页面
i opener.location.reload();//刷新父窗口页面
后台页面跳转:
1、<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="target.aspx">目标</asp:HyperLink>
2、Response.Redirect("WebForm2.aspx")
或者
Response.Redirect("http://www.zhisi.net/")
3、Server.Transfer("WebForm2.aspx",True),或者:Server.Transfer("WebForm2.aspx")
//用OnClientClick事件中实现跳转
OnClientClick="location.href='default.aspx';return false;"
//用Response.Write实现
Response.Write("<script language=javascript>alert('请登录');location='login.aspx'</script>");
注:切换对象
1、Response.Redirect可以切换到任何存在的网页。
2、Server.Transfer只能切换到同目录或者子目录的网页。
数据保密
1、Response.Redirect后地址会变成跳转后的页面地址。
2、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有数据保密功能。
传递的数据量(网址后附带的参数)
1、Response.Redirect能够传递的数据以2KB为限。
2、传递的数据超过2KB时,务必使用Server.Transfer。