基于ASP.NET页面的参数传递的几种方法

2012-08-06 02:34:56武春友
赤峰学院学报·自然科学版 2012年22期
关键词:清华大学出版社表单控件

武春友,林 勇

(安徽广播影视职业技术学院,安徽 合肥 230011)

1 引言

在使用ASP.NET开发Web页面时,经常需要在不同的页面之间共享数据,而这些数据又是如何实现在不同的页面之间进行共享的呢?这些往往都是通过在不同的页面之间传递参数来实现的.

页面之间的参数传递的方法有很多,下面我们将介绍几个典型的方法,并比较它们各自的优缺点.

2 方法及实现

2.1 使用QueryString

使用查询字符串在页面之间传递参数是一个很传统的方法,主要步骤如下:

(1)使用控件创建Web表单(Form)

(2)创建可以返回表单的按钮和链接按钮

(3)在按钮或链接按钮的单击事件里创建一个保存URL的字符变量

(4)在保存的URL里添加QueryString参数

(5)使用Response.Redirect()重定向到上面保存的URL页面

下面的代码及图1和图2演示了这种方法的实现:

源页面代码(Default.aspx.cs):

图1 源页面

图2 目标页面

2.2 使用Server.Transfer

这个方法比QueryString稍微复杂一些,需要额外写一些代码以创建一些属性以便可以在另一个页面访问它,整个过程如下:

(1)在页面里添加必要的控件

(2)创建返回值的Get属性过程

(3)创建可以返回表单的按钮和链接按钮

(4)在按钮单击事件处理程序中调用Server.Transfer()方法转移到指定的页面

(5)在第二个页面中,我们就可以使用Context.Handler属性来获得前一个页面实例对象的引用,通过它,就可以使用存取前一个页面的控件的值了.

源页面代码(Default.aspx.cs):

2.3 使用Session变量

使用Session变量是在页面间传递值的的另一种方式,我们把控件中的值存在Session变量中,然后在另一个页面中使用它,以达到在不同页面间实现值传递的目的,整个过程如下:

(1)在页面里添加必要的控件

(2)创建可以返回表单的按钮和链接按钮

(3)在按钮或链接按钮的单击事件里,把控件的值添加到session变量里

(4)使用Response.Redirect方法重定向到另一个页面

(5)在另一个页面提取session的值,在确定不需要使用该session时,要显式清除它

源页面代码(Default.aspx.cs):

3 几种方法的比较

本文所介绍的几种在页面之间传递参数的方法,非常实用,是我们在设计开发Web页面时经常采用的方法,它们各有各的特点,应用的场合也不尽相同,都有各自的优势和不足,下面我们分别阐述一下:

(1)使用QuerySting的主要优点是实现起来非常简单,而它的缺点是传递的值是会显示在浏览器的地址栏上的,这就存在一个安全问题,同时又不能传递对象.它比较适用于传递的值少而安全性要求不高的场合.

(2)使用Server.Transfer,实现起来比较复杂一点,初学者难以掌握,但是,这个方式带来的好处也是显而易见的.总体来说,使用这种方法既高效,同时又是面向对象的.

(3)使用Session变量存储过多的数据会消耗比较多的服务器资源,因此,在使用Session时应该慎重.我们也应该使用一些清理动作来去除一些不需要的Session变量来降低资源的无谓消耗.

4 结束语

基于ASP.NET页面的参数传递的方法除了本文所介绍的三种方法之外,还有一些其他的方法,当然,这三种方法是最常用的方法,其他的很多方法要么是以上介绍的方法的变体,要么是将这三种方法结合在一起,基本原理都是相似的,希望读者能够结合应用的实际需要,选择合适的参数传递的方法,设计出性能和安全性都能够满足要求的ASP.NET页面.

〔1〕Christian Nagel,Bill Evjen,Jay Glynn.C# 高 级 编 程[M].北京:清华大学出版社,2008.

〔2〕Chris U llman,Chris Goode.ASP.NET 入门经典[M].北京:清华大学出版社,2002.

〔3〕Karli W atson, Christian Nagel etc. C# 入门经典[M].北京:清华大学出版社.

猜你喜欢
清华大学出版社表单控件
电子表单系统应用分析
华东科技(2021年9期)2021-09-23 02:15:24
清华大学出版社期刊中心
关于.net控件数组的探讨
软件(2018年7期)2018-08-13 09:44:42
Desperate Love towards the Dark Lady in Shakespeare’s Sonnets
世界家苑(2018年4期)2018-05-21 08:56:20
浅谈网页制作中表单的教学
《秘书工作手记》
决策(2017年5期)2017-06-21 16:58:25
Translation and Dissemination of Critique of the Gotha Program in China in the Early Times〔* 〕
学术界(2015年8期)2015-02-25 08:39:32
基于Infopath实现WEB动态表单的研究
电子世界(2012年24期)2012-12-17 10:49:06
动态表单技术在教学管理中的应用*
就这样玩会VBA中常见的自定义控件
电脑迷(2012年24期)2012-04-29 00:44:03