• 页面间传值的新思路PreviousPage


    使用PreviousPage可以不需要,上一个页面为传值而去做相关的动作,以下三种形式不同的方法

           PreviousPage:获取向当前页传输控件的页。

    第一种方法:

    u=2424705731,2319894863&fm=3&gp=41fromPage.aspx:

              //用PostBackUrl属性转到其它页面。
              Buton.PostBackUrl = "toPage.aspx"; 
             //PostBackUrl属性只在(*)Button类型上面才有。且必须由用户触发

    toPage.aspx:

              //把之前页面中的控件取过来
              TextBox txtBox =   (TextBox)PreviousPage.FindControl("txtName");

    取得来源页面的公共属性值

    第二种方法:

    使用PreviousPageType:
    u=2424705731,2319894863&fm=3&gp=41fromPage.aspx:
           public string UserName {

                 //公共属性UserName返回Buton上面的Text值
                 get{ return Buton.Text; }
           }
    Buton.PostBackUrl = "toPage.aspx";

    toPage.aspx:

                //一个Page只能有一个PreviousPageType
                <%@ page PreviousPageType Virtualpath="fromPage.aspx"   %>

               //直接取来源页面中的值

               Response.write( PreviousPage.UserName );

    第三种方法:

    u=2424705731,2319894863&fm=3&gp=41引用方式

    fromPage.aspx:

          //公共属性UserName返回Buton上面的Text值
          public string UserName { 

               get{ return Buton.Text; }
          }
    Buton.PostBackUrl = "toPage.aspx";

    toPage.aspx:

                  //一个Page可以有多个Reference 多个来源页
                  <%@ page Reference Virtualpath="fromPage.aspx"   %>

                  //获取来源页实例,转成@Reference 指令中定义的页面

                  fromPage sourcePage = PreviousPage as fromPage;

                  //直接取来源页面中的值   

                 //多个页面强转时要判断归属于哪个页面

                  Response.write( sourcePage.UserName );

    完整代码
    toPage.aspx:
    26020_fb9d09643ctry {

           //若从非来源页(@Reference 指令中定义的页面)过来。则为NULL      
           if ( PreviousPage != null ) {

                 //判断是不是来源页请求过来的(有点类似于IsPostBack)
                 if ( PreviousPage.IsCrossPagePostBack )  {
                       fromPage sourcePage = PreviousPage as fromPage;
                      string name = sourcePage.UserName;
                }
          }
    }
    catch{}
  • 相关阅读:
    hash
    DatabaseLibrary -数据库操作
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-22: ordinal not in range(128)
    robotframework_酷我音乐_That Girl
    robotframework_百度登陆
    12306_车票预定_修改日期
    基础知识:索引和分片
    基础知识:字符串
    基础知识: 常用数据类型分类 及 数值
    c++拷贝构造函数
  • 原文地址:https://www.cnblogs.com/RuiLei/p/1245009.html
Copyright © 2020-2023  润新知