储藏罐

细雨霏霏润万物,涓涓细流汇瀚海
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

c#页面参数传递的几种方法

Posted on 2008-06-09 23:23  宇风悠悠  阅读(2045)  评论(1编辑  收藏  举报

1、querystring

源页面代码

 

目标页面代码


2、session

源页面代码

 

目标页面代码


3、server.transfer

源页面代码

 

目标页面代码


4、跨页面传送
方式1:   
在接收页 的html代码里加上一行: <%@ reference page = "webform1.aspx" %>
    webform1 fp=(webform1)context.handler;
    this.textbox1.text=fp.name;   //name 是第一页的public变量
  //context  提供对整个当前上下文(包括请求对象)的访问。您能够使用此类共享页之间的信息。

方式2:get方式
    在发送页
      public int sum=0;
      int i =int.parse(this.textbox1.text)*2;
      server.transfer("webform2.aspx?sum="+i);

    接收页
    this.textbox1.text=request["sum"].tostring();
    or  this.textbox1.text=request.params["sum"].tostring();
    or  this.textbox1.text=request.querystring["sum"];
方法3:全局变量
   发送页:
       application["sum"]=this.textbox1.text;
       server.transfer("webform2.aspx");
   接收页:
       this.textbox1.text=(string)application["sum"];
   //application实质上是整个虚拟目录中任何文档的集合,
   //假如想在整个应用范围内使用某个变量值,application对象将是最好的选择
方法4:
 发送页:
    1.定义静态变量:  public static string str="";
    2. str=this.textbox1.text;
       server.transfer("webform2.aspx");
 接收页:
    1.引入第一页的命名空间:using webapplication1;
    2  this.textbox1.text=webform1.str;
方式5:
 发送页:加入ID=txtUserName的文本输入框,指定Button控件的PostBackUrl属性为接收页
 接收页:
 TextBox txtUsername=(TextBox)PreviousPage.FindControl("txtUserName");
 txtMsg.Text="传来的信息:"+txtUsername.Text; 
方式6:
 使用@PreviousPageType