admin 管理员组文章数量: 1184232
2023年12月17日发(作者:access数据库的核心操作)
Post和Get的区别(兼谈页面间传值的方式)
从一个页面转向另一个页面的请求方式有两种,Post和Get.
如果从原理上来探究他们的区别,涉及到Http传输协议的细节,本文不加探究,只讨论一下表象。
所有的人都知道如下区别:
传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求的内容,而Get是在Http头部传输的。
我们的form表单的method方法,有两个,post,get.它在页面传值的时候的区别也就是上面提到的三点.
先来看一下post方法.
这个方法在asp时代应该跟程序员打交道很多的,因为那时候没有现在的ViewState,每个页面要恢复原来的状态,都要将页面Post给自身,然后挨个取值,重新赋值.现在这些琐碎的事情都让ViewState代劳了.所以将页面post给自身的动作,在某种程度上已经被的程序员们忘却了,所以Post也就被大部分的忽视了,这就是技术进步的双刃剑,带来方便的同时,蒙上你的眼睛。
ViewState必须包含在
接收页面
string a=["SourceData2"].ToString();
2.通过Session取值,在一个页面中赋值,在其他页面中共享,这个方式也被广泛应用,个人不倾向于用这种方式,我怕造成Session值的混乱无序,Session用来存一些公共的东西已经累得够呛了。
3.通过Context传值,在传送页面之前,将需要传递到其他页面的值存在Context中。示例代码如下:
传送页面
//点击某个button时触发
private void btnTransfer_ServerClick(object sender, EventArgs e)
{
["SourceData"]=;
er("");
}
接收页面
string a=["SourceData"].ToString();
4.通过er的方式。
这个方式在方法三种已经用到了,不过可以在调用页面为要传递到被调用页面的值创建属性(当然可以直接将它设成public),这样就可以在其他页面访问了。
传送页面
//要传送的值
private
putText SourceData;
public string getSourceData
{
get
{
return ;
}
}
//传送页面
er("");
接收页面
private SourceClass sourcePage;
sourcePage=(SourceClass)r;
string aa=rceData;
以上就是Post的在不同页面传递数据的方式了。
下面是get方法
我常用的是 传送页面
string aa=;
string bb=;
string url="?parameter1="+aa+"¶meter2="+bb;
ct(url,false);
接收页面
string aa=tring["parameter1"].ToString();
string bb=tring["parameter2"].ToString();
版权声明:本文标题:Post和Get的区别(兼谈页面间传值的方式) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1702823762a432238.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论