【asp精品源码栏目提醒】:网学会员为广大网友收集整理了,ASP_NET多层网络构架下的页间传值方法及应用研究 - 技术总结,希望对大家有所帮助!
计算机与现代化 2008年第7期JISUANJIYUXIANDAIHUA总第155期文章编号:10062247520080720103204收稿日期:2007206214基金项目:鄂州大学科研基金资助项目2006YB06作者简介:陈新文19752男湖北武汉人鄂州大学计算机系讲师硕士研究方向:计算机及光电子技术吴琼19692男湖北随州人讲师研究方向:计算机应用黄文英19722女湖北鄂州人副教授研究方向:计算机应用。
ASP.NET多层网络构架下的页间传值方法及应用研究陈新文吴 琼黄文英鄂州大学计算机系湖北鄂州436000摘要:针对ASP.NET多层网络构架下的Web编程特点ASP.NET页间传值不便的情况下研究了多层网络架构下的页间传值机制提出了ASP.NET对象及对象模式管理在页面传值上的几种解决方法。
在给出了应用实例的同时探讨了页面间传值的优缺点并验证了其有效性。
关键词:对象模式管理web页传值中图分类号:TP311.13 文献标识码:AResearchonValueTransmissionMethodandApplicationBetweenASP.NETWebPagesUnderMulti2layerNetworkFrameworkCHENXin2wenWUQiongHUANGWen2yingDept.ofComputerEzhouUniv.Ezhou436000ChinaAbstract:ItisofinconvenienttopassvalueamongWebpagesinASP.NETmulti2layernetworkframeworkWebprogramming.Thepaperstudiesthemechanismofvaluetransmissioninthemulti2layernetworkframeworkproposesseveralsolutionstopassvaluebetweenASP.NETobjectsandobjectpatternmanagementdiscussestheadvantagesanddisadvantagesofvaluetransmis2sioninthewayofapplicationexampleandatthesametimeconfirmsitsvalidity.Keywords:objectpatternmanagementWebpagevaluetransmission0 引 言在ASP.NET多层网络架构下的编程时经常出现如客户长时间没有同服务器进行交互的时候如果客户再次执行操作需要让用户重新登陆存在着用户信息在页间传值的应用以及在实现登记页面与数据审核页之间传值的问题1在将某页面计算数据结果传送到别的页面进行处理或动态图形生成时都需要用到页间传值的应用。
在传统的ASP中通过POST方法可以较好的解决但在事件驱动的编程模型的ASP.NET中Web页本身是无状态的在默认情况下Web应用程序的组件仅做存活足够单个请求的时间Web页保留值难以实现2传递值也相对来说这点较为复杂。
本文在分析ASP.NET多层网络架构编程模型的基础上主要探讨了不同实例的页面间传值的方法及其应用特点。
1 多层网络构架下页间传值机制ASP.NET的多层架构系统结构规范一般分为三层或四层。
即用户服务层、业务逻辑层、数据访问层三层或将三层结构中的业务逻辑层分为业务外观层和业务规则层。
其中用户服务层主要为负责处理用户输入及输出中间业务逻辑是联系上层和底层的纽带如建立数据库的连接完成数据层数据的相关操作及更新并把结果返回给用户。
而ASP.NET页间值的传递是中间层和用户层数据交互的表现同时页面间值传递在ASP.NET编程动态生成Web页面也是一个非常重要的环节。
ASP.NET的Web页间值的传递主要是通过内置对象来实现的。
这些内置对象包括Appliction、Ses2sion、Request、Server、Response3等它们是由IIS控制台初始化的ActiveXDLL组件。
Web窗体页是应用程序中的类因此可以像处理任何类一样来创建属104 计 算 机 与 现 代 化2008年第7期性用户通过直接引用这些组件或/及属性来实现页间传值和应用编程。
2 页面间传值方法ASP.NET的Web页间常需要进行数据传值下面主要介绍两种传值方法及其应用。
其一是通过对象的模式管理来实现传值其二是通过对象及其方法和属性来实现传值。
为了便于描述下面设定把源页面WebFormX1中的两个TextBox中的数据Userid和Email的值通过Button按钮触发传递到目标页面WebFormX2中并在WebFormX2中以两个Label标签显示从源页面接收到的值。
下面以实例研究不同传值方法及特点。
2.1对象模式管理实现页间传值模式管理的主要应用程序对象为Application、Session会话对象及视图对象ViewState。
Applictaion对象为存储在所有运在Web应用程序中的代码都可以访问的数据提供访问机制Session对象允许为每一个客户的会话存储数据提供访问机制。
这两种对象都内置在对象模型之中如图1所示ViewState对象只在未提交服务器之前保存页面的临时数据来实现页间值的传递425。
图1 内置对象间的关系1Application传值。
如图1所示Application是被多用户所共有的对应用程序而言把Application描述为全局容器后缀名为aspx的文件集。
在Application对象容器中可以保存变量或对象的引用。
要将传值过程中即通过全局变量保存源页面所要传递的值在目标页面通过Application对象提取。
如WebForm11为源页面WebForm12为目标页面实现源页面A1代码如下:publicclassA1:System.Web.UI.PageprotectedSystem.Web.UI.WebControls.LabelLabel1protectedSystem.Web.UI.WebControls.LabelLabel2protectedSystem.Web.UI.WebControls.TextBoxTextBox1protectedSystem.Web.UI.WebControls.TextBoxTextBox2protectedSystem.Web.UI.WebControls.ButtonButton1privatevoidPage_LoadobjectsenderSystem.EventArgse//在此处放置用户代码以初始化页面regionWeb窗体设计器生成的代码overrideprotectedvoidOnInitEventArgseInitializeComponentbase.OnIniteprivatevoidInitializeComponentthis.Button1.ClicknewSystem.EventHandlerthis.Button1_Clickthis.LoadnewSystem.EventHandlerthis.Page_LoadendregionprivatevoidButton1_ClickobjectsenderSystem.Even2tArgseApplicationuseridTextBox1.TextApplicationusernameTextBox2.TextResponse.RedirectA2.aspx目标页面A2代码如下:publicclassA2:System.Web.UI.PageprotectedSystem.Web.UI.WebControls.LabelLabel1protectedSystem.Web.UI.WebControls.LabelLabel2privatevoidPage_LoadobjectsenderSystem.EventArgse//在此处放置用户代码以初始化页面Label1.TextApplicationuserid.ToStringLabel2.TextApplicationusername.ToString2Session传值。
会话Session是单个用户和特定的Web应用程序相互作用的时间段为单个用户会话保留数据。
在ASP.NET中它独立于Cookie和进程为服务器群集提供支持5。
Session变量在页面间的传值过程中可以把变量的值存放在Session变量中然后在目的页面中使用它。
如图1所示Session变量过多的开销会使服务器的资源变得紧张Session是局部性的变量只能惟一地标识一个用户其有效范围是定义这Session的页面。
下面就Session传值给出应用实例的源页面B1代码片段如下:privatevoidButton2_ClickobjectsenderSystem.Even2tArgseSessionuseridTextBox1.TextSessionEmailTextBox2.TextServer.TransferB2.aspx对应的目标页面B2代码片段如下:privatevoidPage_LoadobjectsenderSystem.EventArgseLabel1.TextSessionuserid.ToString//从Ses2sion中提取所传递的值Label2.TextSessionEmail.ToStringSession.Removeuserid//释放Session资源Session.Removeusername3ViewState状态实现传值。
ViewState对象通常用于在整个往返过程期间保2012-05-212012-05-212012-05-212012-05-212012-05-212012-05-21 2008年第7期陈新文等:ASP.NET多层网络构架下的页间传值方法及应用研究105 持网页上的窗体数据。
当网页提交到服务
上一篇:
C#操作IIS7程序池新建站点站点配置
下一篇:
数字水印技术的无线传感器网络安全机制研究思考