Post和Get的区别(兼谈页面间传值的方式).doc_第1页
Post和Get的区别(兼谈页面间传值的方式).doc_第2页
Post和Get的区别(兼谈页面间传值的方式).doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Post和Get的区别(兼谈页面间传值的方式)从一个页面转向另一个页面的请求方式有两种,Post和Get. 如果从原理上来探究他们的区别,涉及到Http传输协议的细节,本文不加探究,只讨论一下表象。 所有的人都知道如下区别: 1.Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。 2.Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节. 3.Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。 我们的form表单的method方法,有两个,post,get.它在页面传值的时候的区别也就是上面提到的三点. 先来看一下post方法. 这个方法在asp时代应该跟程序员打交道很多的,因为那时候没有现在的ViewState,每个页面要恢复原来的状态,都要将页面Post给自身,然后挨个取值,重新赋值.现在这些琐碎的事情都让ViewState代劳了.所以将页面post给自身的动作,在某种程度上已经被A的程序员们忘却了,所以Post也就被大部分的忽视了,这就是技术进步的双刃剑,带来方便的同时,蒙上你的眼睛。 ViewState必须包含在的窗体下,而只要包含了runat=server的标志,就甭想Post到其他页面中去,为什么?老盖说,我的ViewState是保存当前页面状态的,你要转到其他页面,他说,不行,*不认识的参数.如果想Post一个窗体,咋办?有四种方式可供选择. 1.在页面上新建一个form,不要加上runat=server的标志,当然在这个窗体下的控件也就不用想用Viewstate来传值了.当在其他有runat=server的窗体的中的按钮事件中,手动调用新建form的submit() 函数. 传送页面代码如下: functionpost() forPost.action=DestinationPage.aspx; forPost.submit(); 接收页面 stringa=Request.FormSourceData2.ToString(); 2.通过Session取值,在一个页面中赋值,在其他页面中共享,这个方式也被广泛应用,个人不倾向于用这种方式,我怕造成Session值的混乱无序,Session用来存一些公共的东西已经累得够呛了。 3.通过Context传值,在传送页面之前,将需要传递到其他页面的值存在Context中。示例代码如下: 传送页面 /点击某个button时触发 privatevoidbtnTransfer_ServerClick(objectsender,EventArgse) Context.ItemsSourceData=SourceData.Value; Server.Transfer(DestinationPage.aspx); 接收页面 stringa=Context.ItemsSourceData.ToString(); 4.通过Server.Transfer的方式。 这个方式在方法三种已经用到了,不过可以在调用页面为要传递到被调用页面的值创建属性(当然可以直接将它设成public),这样就可以在其他页面访问了。 传送页面 /要传送的值 private System.Web.UI.HtmlControls.HtmlInputTextSourceData; publicstringgetSourceData get returnSourceData.Value; /传送页面 Server.Transfer(DestinationPage.aspx); 接收页面 privateSourceClasssourcePage; sourcePage=(SourceClass)Context.Handler; stringaa=sourcePage.getSourceData; 以上就是Post的在不同页面传递数据的方式了。 下面是get方法 我常用的是 传送页面 stringaa=SourceData.Value; stringbb=SourceData.Value; stringurl=DestinationPage.aspx?parameter1=+aa+¶meter2=+bb; Response.Redirect(url,false); 接收页面 s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论