zoukankan      html  css  js  c++  java
  • ASP.NET页面间跳转和传递数据(转)

    在ASP.NET中,从一个页面到另一个页面,如何实现跨页数据传递呢?
        例如源页面Default.aspx有一个文本框(txtMsg)和一个按钮(btnOK),要求单击按钮时跳转到目标页面Target.aspx,并在目标页面显示txtMsg的文本。
        主要有以下几种方法:

     1. 设置Default.aspx的按钮btnOK的PostBackUrl属性为目标页;
        Target.aspx添加代码:
        protected void Page_Load(object sender, EventArgs e)
        {
            if (PreviousPage != null)
            {
                if (PreviousPage.IsCrossPagePostBack)
                {
                    string msg = ((TextBox)PreviousPage.FindControl("txtMsg")).Text;
                    Response.Write("这是跨页回发,传递的信息是:" + msg);
                }
            }
        }

      2. 使用Session
         Default.aspx:
             protected void btnOK_Click(object sender, EventArgs e)
             {
                Session["msg"] = txtMsg.Text.Trim();
                Response.Redirect("Target.aspx");
             }
         Target.aspx:
             protected void Page_Load(object sender, EventArgs e)
             {
                if(Session["msg"]!=null)
                    Response.Write("这是Session传值,传递的信息是:" + Session["msg"].ToString());
             }

      3. 使用Cookie
         Default.aspx:
             protected void btnOK_Click(object sender, EventArgs e)
             {
                Response.Cookies["msg"].Value = txtMsg.Text.Trim();
                Response.Redirect("Target.aspx");
             }
         Target.aspx:
             protected void Page_Load(object sender, EventArgs e)
             {
                if(Request.Cookies["msg"]!=null)
                    Response.Write("这是Cookie传值,传递的信息是:" + Request.Cookies["msg"].Value);
             }

      4. 使用QueryString
         Default.aspx:
             protected void btnOK_Click(object sender, EventArgs e)
             {
                Response.Redirect("Target.aspx?msg="+txtMsg.Text.Trim());
             }
         Target.aspx:
             protected void Page_Load(object sender, EventArgs e)
             {
                if(Request.QueryString["msg"]!=null)
                    Response.Write("这是QueryString传值,传递的信息是:" + Request.QueryString["msg"].ToString());
             }

      5. 使用Transfer
         Default.aspx:
             protected void btnOK_Click(object sender, EventArgs e)
             {
                Server.Transfer("Target.aspx");
             }
             public string Msg
             {
                get {   return txtMsg.Text.Trim(); }
             }
         Target.aspx:
             protected void Page_Load(object sender, EventArgs e)
             {
                if (PreviousPage != null)
                {
                    _Default f1 = (_Default)Context.Handler;
                    if (f1 != null)
                        Response.Write("这是Transfer传值,传递的信息是:" + f1.Msg);
                }
             }

     原文地址 : http://blog.sina.com.cn/s/blog_5fbcb5610100oz9x.html

  • 相关阅读:
    结构体初体验
    hdu 2068 RPG的错排
    hdu 2160 母猪的故事
    python爬虫从入门到放弃(一)——试用bs4, request爬百度股票
    python web开发c6——阿里云上ubuntu+flask+gunicorn+nginx服务器部署(一)简单测试
    python web开发——c5 图片上传 flask-uploads 云储存sdk
    python web开发——c3 数据库交互和flask-SQLALchemy
    python web开发——c2 flask框架和flask_script
    javar入门——基本数据类型
    java入门——面向对象
  • 原文地址:https://www.cnblogs.com/edison2012/p/2373508.html
Copyright © 2011-2022 走看看