zoukankan      html  css  js  c++  java
  • 跨页投递和Transfer的区别

     跨页投递和Transfer的区别:

          虽然都是在页面间传递信息,但是二者也有很大的不同。下面用实例说明:

    关键点:

          使用PreviousPage.IsCrossPagePostBack属性判断当前请求是不是跨页投递。
          使用PreviousPage.FindControl方法可以获取源页面的控件。
          跨页投递容易和Transfer混淆,可以用PreviousPage.IsCrossPagePostBack属性判定。

    1.页面执行流程:

    2.文件结构图:

    3.跨页投递页面:

    注意: PostBackUrl="~/DisplayPage.aspx"用来跨页面投递。

    4.Transfer页面:

    后台代码:

    //TransferTest页面;
    public partial class TransferTest : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Server.Transfer("DisplayPage.aspx");
        }
    }
    5.显示页面的后台代码:

    //Default.aspx显示页面;
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {   
                if (PreviousPage != null)  //是否有投递页面。
                {
                    if (PreviousPage.IsCrossPagePostBack
                    {
                        Response.Write(((TextBox)PreviousPage.FindControl("TextBox1")).Text + "</br><h3>这是跨页投递方法发送的结果</h3>");
                    }
                    if (!PreviousPage.IsCrossPagePostBack)
                        {
                            Response.Write(Request.Params["TextBox1"] + "</br><h3>这是Transfer方法发送的结果</h3>");
                            //注意:Request.Params["TextBox1"]用来获取转向页面控件(这里是TextBox1)的值;
                        }
                 }
               //使用PreviousPage.IsCrossPagePostBack属性判断当前请求是不是跨页投递。
               //使用PreviousPage.FindControl方法可以获取源页面的控件。
               //跨页投递容易和Transfer混淆,可以用PreviousPage.IsCrossPagePostBack属性判定。
        }
    }

  • 相关阅读:
    eval(data)和eval("("+data+")")的区别
    来自 119.*.*.*的回复: TTL 传输中过期
    小伙伴们,我们一起奋斗吧
    计算机专业学习课程推荐
    sysbench使用教程【转载】
    Docker学习笔记 — Docker私有仓库搭建【转载】
    Linux设置静态IP【转】
    聊一聊PV和并发、以及计算web服务器的数量的方法【转】
    Linux常用Shell脚本珍藏【转载】
    戏说云计算之PaaS,IaaS,SaaS【转载】
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/2341233.html
Copyright © 2011-2022 走看看