ASP.NET 后台打开新页面

1.最常见的Response.Write

1.这就是最常见的后台打开新页面的方法。

Response.Write("<script>window.open('~/FileView.aspx','_blank')</script>");

2.在AJAX下的Response.Write

1.在AJAX下Response.Write失效,此时将前台控件设置为PostBackTrigger即可

 

</ContentTemplate>
<Triggers>
<asp:PostBackTriggerControlID="rpButton"/>
</Triggers>
</asp:UpdatePanel>

3.使用Response.Redirect

1.此法缺陷在于设置后,本页面中的Response.Redirect都是在新页面打开

 

protectedvoidPage_Load(object sender,EventArgs e)
{
    form1.Target="_blank";
}

4.设置单独按钮的target属性

1.不能用于在Repeater中产生的按钮

  1. protected void Page_Load(object sender, EventArgs e)
    {
         Button1.Attributes.Add("onclick", "this.form.target='_blank'");
         Button2.Attributes.Add("onclick", "this.form.target=''");
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
         Response.Redirect("http://oec2003.cnblogs.com");
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
         Response.Redirect("http://oec2003.cnblogs.com");
    }

    2.如果该按钮在AJAX内,第二步还是得设置PostBackTrigger

来自为知笔记(Wiz)



你可能感兴趣的:(ASP.NET 后台打开新页面)