首先说一下 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>