浅谈ASP中Web页面间的数据传递

原创 2005年05月28日 13:24:00

【简 介】
  基于Web的动态网页设计必会涉及到页面间的数据传递,文章探讨了ASP设计中常用的Web页面间的数据传递方式,分析各种数据传递方式的使用方法、使用场合及优缺点,其都是设计阶段选择数据传递方式考虑的关键

往往使用动态网页技术制作ASP应用程序时一般至少拥有二个或二个以上的Web页面,这时就得考虑在多个Web页面间传递数据的处理工作。而ASP应用程序的各个页面类似于Windows应用程序的Form窗体,Windows应用程序各Form间数据传递可以通过定义全局变量等方法来实现。网页间的数据传递有多种不同的可使用方式,而Web页面间的数据传递方式选择是否恰当对系统设计及运行的合理性与安全性起到举足轻重的作用。

  1、Url方式

  Url方式是实现Web间数据传递最基本的方法,操作简单,可很方便地实现不同Web页面间的数据传递,但其安全性比较差。将要传递的数据附加在网页地址(Url)后面进行传递。如:Http://Www.Dicky.Com/Test.Asp?UserName=Dicky,其中?后面所跟着的字符串便是传递的数据,=前的是变量名,=后面是数值,可以使用Request对象来获取传递的数据。如:Request("UserName")。这种方法在传递数据过程中其数据内容在Url栏中是显示的,用户能看到提交的内容。

  2、Form方式

  通过在网页上制作表单交互区域,用户在浏览器端输入数据,然后通过Form提交到服务器,在提交后的接受Form数据的页面里就可以接收到相应数据,即Form的Action页面中可以使用Request对象来接收所传递的数据。

  如:

  发送页面:

  <Form Name="Formtest" Action="Targetweb.Asp">
   <Input Name="Testtext" Type="Text" value="">
  <Input Name="Testbutton" Type="Submit" Value="提交">
  </Form>

  接收页面:Request("Testtext")

  利用Form页面的文本框来接收用户数据的输入,通过submit按钮提交后在targetweb页面中使用Request来接收数据。

  3、Cookie方式

  Cookie是在浏览页面时web服务器在浏览器端所写入的一些小文件,Cookie是存放在浏览器端本机磁盘上,而不是存放在服务端的。可以在发送数据时写入Cookie,接收时读取Cookie完成数据在web页面间的传送。

  如:

  发送页面:Response.Cookies("CookieName")("Username") = "Dicky"

  接收页面:Request.Cookie("CookieName")("Username")

  在发送页面中对Cookie变量赋值,接收页面中取Cookie变量的值就是所传递的数据。

  4、Application对象

  Application对象是用来记录整个网站信息的,是记录不同浏览器端共享的变量,无论有几个浏览者同时存取网页,都只会产生一个 Application对象实例。用户可以通过定义Application整站共享变量来实现网页间的数据传递。其定义方法是:Application ("变量名")=数值

  如:Application("UserName") = Dicky

  application对象所定义的变量对于所有浏览端都是可见的,所以其使用场合是所有浏览端共享的全局数据传递。

  5、Session对象

  Session对象是用来记录浏览器端的变量,是个别浏览器端专用的变量,对于每一个浏览器访问时都会自动产生一个Seseion对象,该对象提供一个存储场所,用来存储仅仅对该访问者在会话的活动期间打开的网页可用的变量和对象。这样就用可以用来在Web间传递专对单个浏览器端使用的数据。其定义方法:Session("变量名")=数值

  如:Session("UserName") = Dicky

  Session对象所定义的变量只是浏览器端的专用变量,所以适用于局部会话间的网页数据传递。

  6、结束语

  上述介绍的是网页间数据传递的常用方法,各有千秋。其中Url方式和Form方式实现方法简单,可实现网页间的简单数据传递,一般为字符串类型,其特点是安全性差,而且必须是连续访问两页面间数据传递。Cookie只能存放String类型的数据,如果想要存放更为复杂的数据类型,那么必须先将其转换为 String类型。Application对象和Session对象操作相对复杂些,浏览量非常大的网页使用时应适量,而且使用结束后尽量清除,否则大量使用有可能会导致服务器的瘫痪。Session变量的安全性较高,可传递专用浏览端数据。具体应用决定了数据传递方式的选择,合理数据传递方式选择是 Web页面的设计中的关键考虑因素。

浅谈ASP中Web页面间的数据传递

往往使用动态网页技术制作ASP应用程序时一般至少拥有二个或二个以上的Web页面,这时就得考虑在多个Web页面间传递数据的处理工作。而ASP应用程序的各个页面类似于Windows应用程序的form窗体,...
  • swdzx
  • swdzx
  • 2007年03月18日 15:19
  • 302

浅谈ASP中Web页面间的数据传递[转]

 【简 介】  基于Web的动态网页设计必会涉及到页面间的数据传递,文章探讨了ASP设计中常用的Web页面间的数据传递方式,分析各种数据传递方式的使用方法、使用场合及优缺点,其都是设计阶段选择数据传递...
  • vicker109
  • vicker109
  • 2005年09月06日 21:20
  • 557

ASP.NET页面间数据传递小结,浅谈ASP中Web页面间的数据传递

 ASP.NET页面间数据传递小结ASP.NET较ASP最大的优点,也是其受到越来越多程序员的欢迎的主要原因就是,ASP.NET为开发者提供了事件驱动的开发模式,从此程序员可以像利用可视化编程工具开发...
  • he_qian_jin
  • he_qian_jin
  • 2007年05月16日 11:27
  • 1127

ASP页面间的数据传递

在Web环境中,我们都遇到过类似如下的糟糕情况:填写一个表格,点击“Next”,填写更多的详细信息,这时,与服务器的连接突然中断,或者你漏填了一些信息;当你返回到前面的页面时,那些原来已经有内容的文本...
  • windinstray
  • windinstray
  • 2005年03月15日 14:10
  • 2205

Visual C#中实现窗体间的数据传递

 Visual C#中实现窗体间的数据传递之一Visual C#中实现窗体间的数据传递之一 一个稍微复杂一点的程序一般都有二个或者更多的窗体。有时在程序...
  • cngkqy
  • cngkqy
  • 2008年01月18日 11:29
  • 4451

总结C#中窗体间传递数据的几种方法 (由别人的方法整理)

总结C#中窗体间传递数据的几种方法 (由别人的方法整理)   在编写C#windows应用程序的时候我们经常会遇到这种问题,怎么样在两个窗体间传递数据呢?以下是我整理的网上的各种方法,在遇到一个实际问...
  • Daisy423XU
  • Daisy423XU
  • 2007年04月24日 14:55
  • 7127

Android基础之Activity系列 - Activity间的数据传递

Activity间的数据传递总结: Intent:(数据传递的灵魂) Android的应用程序包含三种重要组件:Activity、Service、BroadcastReceiver,应用程序采用一致的...
  • pangrongxian
  • pangrongxian
  • 2015年12月03日 21:51
  • 2394

组件之间的数据传递

Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据。必须使用特定的方法才能实现组件之间的数据传递。 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,co...
  • Sky786905664
  • Sky786905664
  • 2017年06月05日 16:46
  • 416

Java类之间的数据传递3中方法。

1.若是不变的常量可用接口interface,在接口中定义然后几个类就可以共用了。 2.如果是类之间传递变量有两种方法,假如类A调用类B的一个属性,类B的长像如下: class B {   pu...
  • baidu_30204381
  • baidu_30204381
  • 2015年07月30日 10:12
  • 494

安卓开发文档学习笔记之实现ActionBar中Tab导航

上篇文章说到如何在安卓项目中添加ActionBar(前文请戳这里),在添加完ActionBar之后,就可以用它做一些更加有趣的事情了,比如这篇文章要说的Tab导航。 首先,上一张官方文档的Tab导航...
  • sinat_30474567
  • sinat_30474567
  • 2016年04月21日 13:50
  • 569
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈ASP中Web页面间的数据传递
举报原因:
原因补充:

(最多只允许输入30个字)