ASP.NET表单提交之Get和Post的区别

首先说一下 Get 和 Post 的区别:

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

(2)在客户端,Get方式在通过URL提交数据,数据URL可以看到;POST方式,数据放置在HTML HEADER提交。

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

(4)GET方式提交的数据最多只能有1024字节,而POST没有此限制

(5)安全性问题。正如在(1)中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post为好。

 

接下来献上一个例子,可从从这个例子中看出 get 和 post 的不同

View Code
 1 <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7     <title>无标题页</title>
 8 </head>
 9 <body>
10     <form id="form1" action="Default.aspx" method="get">
11     <div>
12     <input type="text" name="Text1" value="Get" />
13     <input type="submit" name="Submit" value="Get方式" />
14     </div>
15     </form>
16     <br />
17     <form id="form2" action="Default.aspx" method="post">
18     <input type="text" name="Text2" value="Post" />
19     <input type="submit" name="Submit" value="Post方式" />
20     </form>
21     <br />
22     <%if (!string.IsNullOrEmpty(Request.QueryString["Text1"]))
23       {
24           string str = string.Format("Request.QueryString[\"Text1\"]={0}", Request.QueryString["Text1"]);
25           Response.Write(str);
26       }
27     %>
28     <%if (!string.IsNullOrEmpty(Request.Form["Text2"]))
29       {
30           string str = string.Format("Request.Form[\"Text2\"]={0}", Request.Form["Text2"]);
31           Response.Write(str);
32       }     
33     %>
34 </body>
35 </html>

 

原文地址:https://www.cnblogs.com/JailBreak02/p/2674210.html