zoukankan      html  css  js  c++  java
  • asp.net中几个网页跳转的方法及区别

    1:注意:Response.Redirect("a.html")是不能跳出框架、IFRAME的。

    可以使用

    Response.Write("<script Language="Javascript">top.location="login.aspx";</script>");
    

      

    asp.net中Page.ClientScript.RegisterStartupScript用法小结

    http://blog.csdn.net/qiujialongjjj/article/details/6680252

     //ASP.NET后台页面跳转 
    Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')){location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>");
    
    //后台弹出确定框
    
    ClientScript.RegisterStartupScript(GetType(), "message", "<script>alert('请正确输入!');</script>");
    
    //ASP.NET后台页面跳转
    
    Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert('数据添加成功!');{location.href='ProductonList.aspx'}</script>");
    
    或
    
    Page.ClientScript.RegisterStartupScript(typeof(string), "", "<script>window.location.href='AdminMain.aspx';</script>");
    
    //后台弹出文本框
    ScriptManager.RegisterStartupScript(Page, typeof(string), "popUp", "window.open('rptView.aspx','打印预览','toolbar=no,location=no,scrollbars=yes,top=200px,left=200px,width=904px,height=650px')", true);
    

      

    ASP.NET的Page类的RegisterStartupScript函数解析  

    http://blog.163.com/budong_weimin_zh/blog/static/129198524201062024654838/

    ScriptManager.RegisterStartupScript 方法

    http://www.cnblogs.com/weicleer/archive/2012/11/28/2792421.html

    备注:

    使用 RegisterStartupScript 方法,可为与部分页面呈现兼容且不具有 Microsoft AJAX Library 依赖项的页面注册启动脚本块。 仅当正在注册该块的控件位于要更新的 UpdatePanel 控件内时,才将通过使用此方法注册的启动脚本块发送到页面。 若要在每次发生异步回发时都注册启动脚本块,请使用该方法的 RegisterStartupScript(Page, Type, String, String, Boolean) 重载。

    如果要注册与部分页面更新无关的启动脚本,并且只想在初始页面呈现期间注册一次该脚本,请使用 ClientScriptManager 类的RegisterStartupScript 方法。 可以从页面的 ClientScript 属性获取对 ClientScriptManager 对象的引用。

    RegisterStartupScript 方法所呈现的脚本块会在页面完成加载之时、但页面的客户端 onload 事件引发之前执行。 启动脚本块位于呈现的 ASP.NET 页面底部的 </form> 标记之前。

    不能保证使用 RegisterStartupScript 注册的启动脚本块按照其注册顺序输出。 如果启动脚本块的顺序很重要,请使用 StringBuilder 对象将脚本块集中到一个字符串中,然后将它们作为单个启动脚本进行注册。  

        protected override void OnInit(EventArgs e)
        {
            if (Request.Cookies["userinfo"] != null && Request.Cookies["userinfo"]["UserCode"] != null)
            {
                //to do other thing
            }
            else
            {
                //Response.Write("<script>parent.location='../SysManage/login.aspx'</script>");
                Response.Write("<script Language="Javascript">window.location="../SysManage/login.aspx";</script>");
                Response.End();
                //Response.Redirect("../SysManage/login.aspx");//注:当网页回退时,上面两种方式并不能够返回
                return;
            }
    
            base.OnInit(e);
        }
    

      注意:

    当网页回退时:
    如果有iframe时,采用redirect方法是可以返回的,但是只是将iframe中的网页返回,此时显示是有问题的。
    当采用write方法时,需要执行Response.End(); 否则子类会继续执行下去,响应请求。当调用end方法时,会立即停止该页的执行
  • 相关阅读:
    Linux eclipse 编译C++
    poj2774 Long Long Message(后缀数组or后缀自动机)
    ural 1297 Palindrome(Manacher模板题)
    bzoj 2049 Cave 洞穴勘测(LCT)
    codeforces 519E A and B and Lecture Rooms(LCA,倍增)
    hdu3830 (二分+LCA)
    codeforces 337D Book of Evil(dp)
    codeforces 22C System Administrator(构造水题)
    codeforces 144D Missile Silos(最短路)
    codeforces 505B Mr. Kitayuta's Colorful Graph(水题)
  • 原文地址:https://www.cnblogs.com/jingzhishen/p/3827237.html
Copyright © 2011-2022 走看看