Asp.Net总结(二)Form
2014-02-10 11:44
393 查看
之前在看视频时一直都没有给予表单足够的重视,有些盲目了。光是去比较get和post,却不知道是他们是谁的属性,提交的到底是什么。这篇博客介绍一下表单和表单的相关易混点。
1.表单
找了很多的资料,对于表单也没有明确的概念。百度百科上如是说:“表单在网页中主要负责数据采集功能。”我们将向服务器端发送的数据或信息放在表单中。
一个表单有三个基本组成部分:表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。其中的隐藏域在Asp.Net总结ViewState中多次提到过。举个代码就更明白了什么事表单标签、表单域和表单按钮了。
[html] view
plaincopy
<form action="GetUserInfo.aspx" method="get"> '表单标签
<table border="1" width="400px">
<tr><td colspan="2">用户注册</td></tr>
<tr><td>用户名</td><td><input type="text" name="username" /></td></tr> '表单域
<tr><td>密码</td><td><input type="password" name="pwd" /></td></tr> '表单域
<tr><td><input type="submit" value="提交" /></td><td><input type="reset" value="重置" /></td></tr> '表单按钮
</table>
</form>
在服务器端运行的表单,一个页面只能有一个。
2.表单的主要属性
表单的主要属性有两个:method和action.
action属性:必需的 action
属性规定当提交表单时,向何处发送表单数据。默认为提交给自己。
method属性:默认值为get。浏览器使用method 属性设置的方法将表单中的数据传送给服务器进行处理。共有两种方法:POST 方法和 GET 方法。
这里有必要比较一下这两种方法的区别:GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连.如:
login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。POST把提交的数据则放置在是HTTP包的包体中。
a.通过GET提交数据,用户名和密码将明文出现在URL上,安全性没有post方法高,但是get方法很方便,直接定义一个URL就可以了。
b.由于浏览器的显示字符的长度是有限制的,所以采用get方法的URL太长的话就会受到限制,而post则没有。
3.相关易混点
针对get方法获取本页值的方式有:Request["xxx"];Request.QueryString[“xxx”];Request.QueryString.Get("xxx");
针对post方法获取本页值的方式有:Request["xxx"];Request.Form["xxx"];Request.Form.Get("xxx");
Request的集合有QueryString、Form、Cookies、ClientCertificate、ServerVarible,使用Request["xxx"]时request会按顺序搜索全部的集合直到发现第一个匹配值的名称,这样做的集合效率低,并且是不安全的。尽量避免这样的写法。Request.Form["xxx"]和Request.Form.Get("xxx")指明了是form集合,针对post方法获取页面值。二者实现的效果是一样的。Request.Form返回的是NameValueCollection类型对象,该类型对象有Get方法。所以Request.Form[]和Request.Form.Get()是相同的。需要注意的是集合后面使用的中括号。
Request.QueryString[“xxx”];Request.QueryString.Get("xxx")同理。
学习了表单,我一直都有一个疑问:难道客户端和服务器之间的交互就只有使用表单吗?这个问题我找过资料,可以说是没有收获。请牛人指点。
1.表单
找了很多的资料,对于表单也没有明确的概念。百度百科上如是说:“表单在网页中主要负责数据采集功能。”我们将向服务器端发送的数据或信息放在表单中。
一个表单有三个基本组成部分:表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。其中的隐藏域在Asp.Net总结ViewState中多次提到过。举个代码就更明白了什么事表单标签、表单域和表单按钮了。
[html] view
plaincopy
<form action="GetUserInfo.aspx" method="get"> '表单标签
<table border="1" width="400px">
<tr><td colspan="2">用户注册</td></tr>
<tr><td>用户名</td><td><input type="text" name="username" /></td></tr> '表单域
<tr><td>密码</td><td><input type="password" name="pwd" /></td></tr> '表单域
<tr><td><input type="submit" value="提交" /></td><td><input type="reset" value="重置" /></td></tr> '表单按钮
</table>
</form>
在服务器端运行的表单,一个页面只能有一个。
2.表单的主要属性
表单的主要属性有两个:method和action.
action属性:必需的 action
属性规定当提交表单时,向何处发送表单数据。默认为提交给自己。
method属性:默认值为get。浏览器使用method 属性设置的方法将表单中的数据传送给服务器进行处理。共有两种方法:POST 方法和 GET 方法。
这里有必要比较一下这两种方法的区别:GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连.如:
login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。POST把提交的数据则放置在是HTTP包的包体中。
a.通过GET提交数据,用户名和密码将明文出现在URL上,安全性没有post方法高,但是get方法很方便,直接定义一个URL就可以了。
b.由于浏览器的显示字符的长度是有限制的,所以采用get方法的URL太长的话就会受到限制,而post则没有。
3.相关易混点
针对get方法获取本页值的方式有:Request["xxx"];Request.QueryString[“xxx”];Request.QueryString.Get("xxx");
针对post方法获取本页值的方式有:Request["xxx"];Request.Form["xxx"];Request.Form.Get("xxx");
Request的集合有QueryString、Form、Cookies、ClientCertificate、ServerVarible,使用Request["xxx"]时request会按顺序搜索全部的集合直到发现第一个匹配值的名称,这样做的集合效率低,并且是不安全的。尽量避免这样的写法。Request.Form["xxx"]和Request.Form.Get("xxx")指明了是form集合,针对post方法获取页面值。二者实现的效果是一样的。Request.Form返回的是NameValueCollection类型对象,该类型对象有Get方法。所以Request.Form[]和Request.Form.Get()是相同的。需要注意的是集合后面使用的中括号。
Request.QueryString[“xxx”];Request.QueryString.Get("xxx")同理。
学习了表单,我一直都有一个疑问:难道客户端和服务器之间的交互就只有使用表单吗?这个问题我找过资料,可以说是没有收获。请牛人指点。
相关文章推荐
- ASP.NET:Form提交中文乱码的解决方法总结
- Asp.Net北大青鸟总结(五)-数据绑定控件
- asp.net中的<%%>形式的详细用法总结
- asp.net页面间数据传递(总结篇)
- ASP.NET页面性能优化方案总结
- asp.net 前台绑定后台变量方法总结<转帖>
- ASP.NET中的加密与解密 【分析总结】ASP.NET中的状态管理原理
- ASP.NET错误处理的方式(总结)
- ASP.NET中如何实现FORM验证登录
- ASP.NET 2.0中CSS失效的问题总结
- 建设局项目总结(三)——ASP.NET 实现自动捕获异常和异常处理
- ASP.NET HttpHandler使用总结
- ASP.NET设置数据格式与String.Format使用总结(转)
- Asp.Net MVC学习总结(三)——过滤器你怎么看?
- 部署ASP.NET 2.0 Web程序的一点积累总结
- asp.net 关于form认证的一般设置
- asp.net form post 提交 asp.net js form 提交
- ASP.NET AJAX 1.0 Beta 发布相关文章总结及推荐
- ASP.NET中 ValidationSummary(验证总结)的使用
- ASP.NET图片处理问题总结