日期:2014-05-17  浏览次数:20529 次

<asp:LinkButton>如何在新窗口中打开连接??
我知道可以通过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。