Get和Post
GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
1.GET用于获取信息,而且是安全(对信息源而言)和幂等的。
POST可能更改服务器上资源内容,如post更新博客评论。
2.服务端获取GET请求参数用Request.QueryString。
获取POST请求参数用Request.Form。
3.Get 方法通过 URL 请求来传递用户的数据,如:http://localhost:7045/Default.aspx?txtname=rew&Button1=Button,用户可以看到这个过程。
Post方法将表单内字段与各属性值放在html Header中交由action所指向的URL地址处理,用户看不到传递的内容!
4.GET的效率较POST高一些。(GET传送串行化的数据,POST传送的数据格式较随意)
get:
<form id="form1" runat="server" method="get"> <div> <asp:TextBox ID="txtname" runat="server">rew</asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" /> </div> </form>
protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.QueryString["txtname"] + "<br>"); Response.Write(Request.QueryString["Button1"] + "<br>"); }
Post:
<form id="form1" runat="server" method="post"> <div> <asp:TextBox ID="txtname" runat="server">rew</asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" /> </div> </form>
protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.Form["txtname"] + "<br>" + Request.Form["Button1"]); }
<%--Post到WebForm2.aspx页面,在WebForm2.aspx中处理数据--%> <form id="form1" action="WebForm2.aspx" method="post"> <div> <input type="text" name="val" /> <input type="submit" name="ok" /> </div> </form>
人生无处不代码,没有代码不人生。