zoukankan      html  css  js  c++  java
  • ASP.NET 后台打开新页面

    Response.Write

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

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

    在AJAX下的Response.Write

    AJAX下直接使用Response.Write会报错,此时有两种解决方案

    • 将前台控件设置为PostBackTrigger
    • 使用 ScriptManager.RegisterStartupScript

    设置PostBackTrigger

        </ContentTemplate>
        <Triggers>
            <asp:PostBackTrigger ControlID="rpButton" />
        </Triggers>
    </asp:UpdatePanel>
    

    ScriptManager.RegisterStartupScript

    ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptName", "window.open('http://www.baidu.com','_blank');", true);
    

    Response.Redirect


    Redirect本身是在当前页面跳转,但很多情况下可以通过设置Target="_blank"实现打开新页面。

    设置整个页面的Target属性

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

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

    设置LinkButton的Target

    适用于ListView、GridView内部的LinkButton

    <asp:LinkButton ID="LinkButtonView" runat="server" CommandName="View" OnClientClick ="document.forms[0].target = '_blank';"  CommandArgument='<%# Eval("ViewFileID") %>' >查看</asp:LinkButton>
    

    设置按钮的Target属性

    适用于一般的Button
    如果该按钮在AJAX内,还是得设置PostBackTrigger

    
    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");
    }
    
  • 相关阅读:
    2017/7/26 SCJP英语学习
    JSF(JavaServer Faces)简介
    Java回话技术
    2.2 对象深拷贝、浅复制、序列化
    编码与解码
    pycharm 教程(一)安装和首次使用
    Java Eclipse进行断点调试
    详细介绍如何在Eclipse中使用SVN
    SVN客户端安装与使用
    炸鸡
  • 原文地址:https://www.cnblogs.com/moonache/p/5794465.html
Copyright © 2011-2022 走看看