页面传值问题(转)

来源:互联网 发布:淘宝网官网电脑版登录 编辑:程序博客网 时间:2024/06/05 07:54

1、表单提交,

form action="target.aspx" enctype="application/x-www-form-urlencoded" method="post">input style="width: 162px; height: 26px;" name="param1" type="text" value="1111" / input name="param2" type="text" value="2222" />/form>

.... form1.submit(); .... 此种方在ASP。NET中无效,因为ASP。NET的表单总是提交到自身页面,如果要提交到别一页面,需要特殊处理。 

 

 2、链接地址传送 接收页面: string str = Request["param1"]   

 

3、Session共享发送页面:Session("param1") = "1111"; 按收页面 string str = Session("param1").ToString();   

 

 4、Application共享发送页面: Application("param1") = "1111"; 按收页面: string str = Application("param1").ToString(); 此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。   5、Cookie   

 

 6、Response.Redirect()方式 Response.Redirect("target.aspx?param1=1111¶m2=2222") 接收页面: string str = Request["param1"]   

 

7、Server.Transfer()方式。

Server.Transfer("target.aspx?param1=1111&param2=2222")

接收页面: string str = Request["param1"]  

 

 二、如果在两个页面间需要大量的参数要传传递,如数据查询等页面时,用1 - 6的方法传值及其不便,而第 7 种方法确有一独特的优势!但使用该方法时需要一定的设置,现简单介绍一下该方法的使用方式: 

以查询数据页面为例:

在查询页面中设置如下公有属性

(QueryPage.aspx):

 

 

 

三、如果有许多查询页面共用一个结果页面的设置方法: 在这种方式中关键在于“ QueryPage queryPage = ( QueryPage )Context.Handler; ”的转换,只有转换不依赖于特定的页面时即可实现。

 

如果让所有的查询页面都继承一个接口,在该接口中定义一个方法,该方法的唯一作用就是让结果页面获得构建结果时所需的参数,就可实现多页面共享一个结果页面操作!
1、先定义一个类,用该类放置所有查询参数: