浅谈GET和POST请求方式

本文详细对比了Web开发中GET和POST两种请求方式的特点与区别,包括数据安全性、传输大小及应用场景等方面,并提供了ASP.NET中具体的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

众所周知,基于web的页面请求有两种方式,他们分别是GET和POST方式.
他们之间有很多的异同:
1>采用post方式传输数据时,不需要在URL中显示出来,而get方式要在URL当中进行显示(不安全性).
2>post方式的传输数据量较大,理论上来说是没有限制的,而get方式由于受到UEL长度的限制,只能传递GET方式提交的数据最多只能有1024字节.
3>post顾名思义,就是为了将数据传送到服务器端,Get就是为了从服务器端取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.post的信息作为http请求的内容,而Get是在Http头部传输的。

我们的form表单的method方法,post,get.它在页面传值的时候的区别也就是上面提到的三点.

先来看一下post方法.

1.PostApply.aspx(发送页)
页面前台代码:

<form id="form1" method="post" action="PostRecive.aspx" runat="server">
<asp:TextBox ID="postParmar" runat="server"  Text="中华人民共和国"></asp:TextBox>
        
        
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    
</form>

后台代码:

protected void Button1_Click(object sender, EventArgs e)
{
        Server.Transfer(
"PostRecive.aspx");
}


2.PostRecive.aspx(接收页)
后台代码:

string parameter1=Request.Form["postParmar"].ToString();


 

通过Session传递参数,在一个页面中赋值,在其他页面中共享,这个方式也被广泛应用.
Session["para"]="中华人民共和国";//建立Session变量
string parameter=Session["para"];//使用


通过Context传值,在传送页面之前,将需要传递到其他页面的值存在Context中。示例代码如下:

传送页面


protected void Button1_Click(object sender, EventArgs e)
    {
        Context.Items["para"] = postParmar.Text;
        Server.Transfer("PostRecive.aspx");

    }

  

接收页面
string parameter=Context.Items["para"].ToString(); 

4.通过Server.Transfer的方式。
这个方式在方法三种已经用到了,不过可以在调用页面为要传递到被调用页面的值创建属性(当然可以直接将它设成public),这样就可以在其他页面访问了。

传送页面


以上就是Post的在不同页面传递数据的方式了。
下面是get方法
//发送

string url = "PostRecive.aspx?parameter1=" + postParmar.Text;
Response.Redirect(url, false);

//接收
string parameter=Request.QueryString["parameter1"].ToString();

 

 

转载于:https://www.cnblogs.com/symbol441/archive/2007/11/08/953545.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值