ASP.NET中Get和Post的用法

mac2022-06-30  24

表单form的提交有两种方式,一种是get的方法,一种是post 的方法.看下面代码,理解ASP.NET Get和Post两种提交的区别: 

1 < form id = " form1 " method = " get " runat = " server " > 2 < div > 3 你的名字 < asp:TextBox ID = " name " runat = " server " >< / asp:TextBox >< br /> 4 < br /> 5 你的网站 < asp:TextBox ID = " website " runat = " server " >< / asp:TextBox >< br /> 6 < br /> 7 < br /> 8 < asp:Button ID = " Button1 " runat = " server " Text = " send " />< br /> 9 < br /> 10 < br /> 11 学习request 和 response的用法 < br /> 12 < br /> 13 < br /> 14 < / div > 15 < / form > 16 17 18 19 < form id = " form2 " method = " post " runat = " server " > 20 < div > 21 你的名字 < asp:TextBox ID = " name2 " runat = " server " >< / asp:TextBox >< br /> 22 < br /> 23 你的网站 < asp:TextBox ID = " website2 " runat = " server " >< / asp:TextBox >< br /> 24 < br /> 25 < br /> 26 < asp:Button ID = " Button2 " runat = " server " Text = " send " />< br /> 27 < br /> 28 < br /> 29 学习request 和 response的用法 < br /> 30 < br /> 31 < br /> 32 < / div > 33 < / form >

从URL中可看出ASP.NET Get和Post的区别.那么那如何编程实现数据的接收呢?

第1种,接收用get 方法传输的数据的写法:

 

1 protected void Page_Load( object sender, EventArgs e) 2 3 { 4 string id = Request.QueryString[ " name " ]; 5 string website = Request.QueryString[ " website " ]; 6 Response.Write(id + " < br> " + website); 7 8 9 Response.Write( " 你使用的是 " + Request.RequestType + " 方式传送数据 " ); 10 11 12 }   

第2种,接收用post 方法传输的数据的写法:

 

1 protected void Page_Load( object sender, EventArgs e) 2 3 { 4 5 string id2 = Request.Form[ " name2 " ]; 6 string website2 = Request.Form[ " website2 " ]; 7 Response.Write(id2 + " < br> " + website2); 8 9 10 11 12 Response.Write( " 你使用的是 " + Request.RequestType + " 方式传送数据 " ); 13 14 15 } 16 17 18 string id4 = Request[ " name4 " ]; 19 20 string website4 = Request[ " website4 " ]; 21 Response.Write(id4 + " < br> " + website4);  

第3种,同时接受get和post 方法传送数据的代码写法:

A 写法  

 

1 string id3 = Request.Params[ " name3 " ]; 2 3 string website3 = Request.Params[ " website3 " ]; 4 Response.Write(id3 + " < br> " + website3);   

B 写法

 

1 string id4 = Request[ " name4 " ]; 2 3 string website4 = Request[ " website4 " ]; 4 Response.Write(id4 + " < br> " + website4);

表单提交中,ASP.NET的Get和Post方式的区别归纳如下几点:

1. get是从服务器上获取数据,post是向服务器传送数据。

2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。

4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

建议:

1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;

2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式。

转载于:https://www.cnblogs.com/jamesping/articles/2019540.html

相关资源:ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求示例代码.zip
最新回复(0)