• asp.net中,后台跳转


    在项目中遇到,点击按钮,跳转页面。Server.Transfer()

      protected void btnSave_Click(object sender, EventArgs e)
        {
    
            Session["area"] = dr_Dept.SelectedItem.Text;
            Session["starttime"] = t_starttime.Text;
            Session["stoptime"] = t_endtime.Text;
            string id = Request["id"].ToString();
            string url = "";
            if (id == "111")
                url += "../../ReportPrint/PrintList.aspx?TypeId=19911";
            else if (id == "112")
                url += "../../ReportPrint/PrintList.aspx?TypeId=19912";
            else if (id == "113")
                url += "../../ReportPrint/PrintList.aspx?TypeId=19913";
            else if (id == "114")
                url += "../../ReportPrint/PrintList.aspx?TypeId=19914";
            else
                url += "../../ReportPrint/PrintList.aspx?TypeId=19915";
            if (Check()) { Server.Transfer(url); }
        }
        public bool Check()
        {
            if (string.IsNullOrEmpty(t_starttime.Text) || string.IsNullOrEmpty(t_endtime.Text))
            {
                Response.Write("<script>alert('请选择时间段!')</script>");
                return false;
            }
            if (string.IsNullOrEmpty(dr_Dept.SelectedItem.Text))
            {
                Response.Write("<script>alert('请选择地区!')</script>");
                return false;
            }
            if (!string.IsNullOrEmpty(t_starttime.Text) && !string.IsNullOrEmpty(t_endtime.Text))
            {
                string t1 = Convert.ToDateTime(t_starttime.Text).ToString("yyyy-MM-dd");
                string t2 = Convert.ToDateTime(t_endtime.Text).ToString("yyyy-MM-dd") + " 23:59:59";
                if (EConvert.ToDateTime(t2).CompareTo(EConvert.ToDateTime(t1)) < 0)
                {
                    Response.Write("<script>alert('结束时间应该比开始时间大!')</script>");
                    return false;
                }
            }
            return true;
        }
    以前用的最多的就是Response.Redirect()方法
      1. 过程:发送一个Http响应到客户端,通知客户端跳转到一个新的页面,然后客户端再发送跳转请求到服务器端。
      2. 页面跳转之后内部控件保存的所有信息丢失,当A跳转到B,B页面将不能访问A页面提交的数据信息。
      3. 使用这个方法使用这个方法跳转后浏览器地址栏的Url信息改变
      4. 可以使用Session Cookies Application等对象进行页面间的数据传递
      5. 重定向操作发生在客户端,总共涉及到两次与Web服务器的通信:一次是对原始页面的请求,另一次是重定向新页面的请求
    在上述的代码中,所用到的Server.Transfer()方法
      1. 实现页面跳转的同时将页面的控制权进行移交
      2. 页面跳转过程中Request Session等保存的信息不变,跳转之后可以使用上一个页面提交的数据
      3. 跳转之后浏览器地址栏的Url不变
      4. 这种方法的重定向请求是在服务器端的进行的,浏览器不知道页面已经发生了一次跳转
  • 相关阅读:
    SLAM图优化g2o
    AI人工智能天机芯芯片
    Tengine MLOps概述
    Tengine Framework基础
    Tengine Web服务器概述
    华为MDC软件架构
    4D毫米波雷达Radar
    MindSpore循环神经网络
    构建编译TVM方法
    芯片工具链概述
  • 原文地址:https://www.cnblogs.com/hllxy/p/7568380.html
Copyright © 2020-2023  润新知