单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. < form id="form2" method="post" runat="server">
  17. < div>
  18. 你的名字< asp:TextBox ID="name2" runat="server">< /asp:TextBox>< br />
  19. < br />
  20. 你的网站< asp:TextBox ID="website2" runat="server">< /asp:TextBox>< br />
  21. < br />
  22. < br />
  23. < asp:Button ID="Button2" runat="server" Text="send" />< br />
  24. < br />
  25. < br />
  26. 学习request 和 response的用法< br />
  27. < br />
  28. < br />
  29. < /div>
  30. < /form>

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

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

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

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

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

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

A 写法

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

B 写法

  1. string id4 = Request["name4"];
  2. string website4 = Request["website4"];
  3. 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方式。

ASP.NET中Get和Post的用法的更多相关文章

  1. ASP.NET中的ExecuteNonQuery()方法的用法

    下面我将详细讲解在机房收费系统D层中如何对数据库的增加.删除.修改,最后再来总结一下 ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法: 一.增.删 ...

  2. asp.net中的<%%> <%#%> <%=%>形式的详细用法 (转载)

    博客分类: ASP.NET   一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支 ...

  3. ASP.NET中<%=%>、<%%>、<%@%>、<%#%>的用法与区别

    1.<%= %> 里面放变量名,获取后台的变量值,直接输入变量到页面上,里面放的变量名,未经过encode eg: 后台: seession["ab"]=ab; 前台: ...

  4. Asp.net中具体的日期格式化用法

    1.绑定时格式化日期方法: <ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-M ...

  5. 【转】asp.net中利用session对象传递、共享数据[session用法]

    来自:http://blog.unvs.cn/archives/session-transfer-method.html 下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值 ...

  6. asp.net中的<%%>的几种形式的用法

    转自:http://blog.csdn.net/wang379275614/article/details/9625911 在asp.net中经常出现包含这种形式<%%>的html代码,总 ...

  7. asp.net中利用session对象传递、共享数据[session用法]

    下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值: 首先定义将一个文本值或单独一个值赋予session,如下: session[“name”]=textbox1.text ...

  8. asp.net中的<%%>形式的详细用法实例讲解

    asp.net中的代码分离模式我们肯定都不陌生,C#(或者其它语言)写的代码一般不会和设计语言HTML混在一起,但是有的时候也避免不了,这时就会在UI页面里用<%%>来绑定显示.绑定变量数 ...

  9. asp.net中Request.ServerVariables的用法

    在asp.net中可以通过HttpRequest.ServerVariables 属性来获取“ Web 服务器变量的集合” HttpRequest.ServerVariables 的用法: HttpR ...

随机推荐

  1. 使用Eclipse搭建C/C++开发环境(转)

    使用Eclipse搭建C/C++开发环境  文章出自:http://www.cnblogs.com/liuxianan/archive/2013/01/15/2861196.html 说明:网上有很多 ...

  2. 谷歌浏览器chrome假死、卡死、经常无反应,火狐firefox闪黑格子的解决办法(显卡/驱动兼容问题)

        问题: chrome 升级到高版本,切换标签后点击,滚轮都没反应,假死不动.F12呼出控制台来开发时更让人揪心.(大概chrome 25更高) 原因: 我的电脑是:集显+512M独显,可切换的 ...

  3. TabControl控件中TabPage的显示和隐藏

    TabPage里面含有方法Hide和Show,但没有任何作用,实际隐藏和显示需要使用如下2个方法 方法一:此方法比较简单 TabPageServo.Parent = Nothing   //隐藏 Ta ...

  4. TRECT的使用

    作为一张画布,在上面绘制各种图形或显示图像,但在CANVAS的使用过程中少不了一个特殊对象,那就是矩形RECT,灵活使用它会完成很多特殊的功能,为Delphi编制的Windows程序增加活力. REC ...

  5. python模块之socket

    43.python模块之socket:       Python在网络通讯方面功能强大,学习一下Socket通讯的基本方式 UDP通讯: Server: import socket port=8081 ...

  6. bzoj1311: 最优压缩

    Description  其中: Auv是与Aij相邻的像素(为了简化,认为(i-1,j),(i+1,j,(i,j-1),(i,j+1)为相邻元素); Wij取值0或者1,表示Aij修改后取V0或者V ...

  7. bzoj2215: [Poi2011]Conspiracy

    Description Byteotia的领土被占领了,国王Byteasar正在打算组织秘密抵抗运动.国王需要选一些人来进行这场运动,而这些人被分为两部分:一部分成为同谋者活动在被占领区域,另一部分是 ...

  8. Mac iOS-----PhoneGap 添加条形扫描码插件

    此随笔记录的是通过plugman来安装phonegap插件. 第1步:安装plugman npm install -g plugman QiaodeMacBook-Pro:MyApp root# np ...

  9. 怎么屏蔽F5键刷新功能

    window.document.onkeydown=function(){if(event.keyCode==116){//屏蔽F5键,改为只刷新本页面,防止一刷就刷整个窗口event.keyCode ...

  10. angular2 学习笔记 (Typescript - Attribute & reflection)

    refer : https://www.npmjs.com/package/reflect-metadata refer : https://www.typescriptlang.org/docs/h ...