单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. Spring 创建bean的模式

    在默认情况下,spring创建bean是单例模式 scope="singleton ",还有一种方式为多例模式[prototype]     scope          sing ...

  2. java常用指令

    javac 编译java源文件到字节码文件 -d XXX 1.指定编译后的字节码文件存放位置. 2.若编译的java源文件中使用包名,则根据包名生成相应的子目录 javac -d . Hello.ja ...

  3. POJ刷题记录 (。・`ω´・)(Progress:6/50)

    1743:前后作差可以转化成不可重叠最长公共字串问题,运用后缀数组解决(参考罗穗骞神犇的论文) #include <cstdio> #include <cstring> #in ...

  4. SGU 119.Magic pairs

    题意: 对于给出的一个整数N,和一对(A0,B0) 找到所有的整数对(A,B)满足 : 对于任意 X,Y 当 A0 * X + B0 * Y 能被 N 整除时 A * X + B * Y 也能被 N ...

  5. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  6. PHP 数组转JSON数据(convert array to JSON object);

    <?php header('Content-type: appliction/json; charset=shift-JIS'); $data =array(); class Test { pu ...

  7. PHP通过链接获取二进制数据的方法

    function urltoblob($url){ $data = @file_get_contents($url); //如果file得不到数据,则给空值 if(!$data){ $data = & ...

  8. CHROME下载地址

    Chrome官方独立中文安装包下载地址 一般我们安装Google Chrome浏览器都是访问 http://www.google.com/chrome/?hl=zh-CN 然后下载运行ChromeSe ...

  9. python有序字典实现代码

    class MyDict(dict): #有序字典实现 def __init__(self): self.li = [] super(MyDict,self).__init__() def __set ...

  10. 总结:S5PV210时钟系统

    在数据手册<S5PV210_UM_REV1.1>中的section 02_system/3 CLOCK CONTROLLER(354页)   一.时钟域 在S5PV210的SoC中,时钟系 ...