asp.net form表单详细的讲解啊,越详细越好

有包含表单的提交,页面(还有参数)的传递等的最好... 有包含表单的提交,页面(还有参数)的传递等的最好 展开
 我来答
handangaoyang
2014-03-14 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:924万
展开全部

这个问题太大了。


首先要谈提交方式(Post,Get),当然还有别的提交方式,这里就说这两种最常用的

Post提交方式

  1. 请求行

  2. 请求头

  3. 请求体(form表单提交的数据)


Get提交方式(无请求体)

  1. 请求行

  2. 请求头


成功控件的概念:

每个表单中的控件都应该有一个name属性和”当前值“, 在提交时,它们将以 name=value 的形式做为提交数据的一部分。

对于一些特殊情况,成功控件还有以下规定:
1. 控件不能是【禁用】状态,即指定【disabled="disabled"】。即:禁用的控件将不是成功控件。
2. 如果一个表单包含了多个提交按键,那么仅当用户点击的那个提交按钮才算是成功控件。
3. 对于checkbox控件来说,只有被用户勾选的才算是成功控件。
4. 对于radio button来说,只有被用户勾选的才算是成功控件。
5. 对于select控件来说,所有被选择的选项都做为成功控件,name由select控件提供。
6. 对于file上传文件控件来说,如果它包含了选择的文件,那么它将是一个成功控件。

追问
表单的提交过程呢
追答

提交过程,一句话就说完了。


  1. 只提交成功控件

  2. Get提交没有提交体,Post提交有提交体


如果你要问asp.net Form的提交过程。还是可以扯扯的。

  1. asp.net所有的Form都是提交给当前页(除非你自己重新设置,一般都不会设置)

  2. asp.net的form的提交,会把成功控件全部封装成对象,这也就是为什么你在后台可以通过this访问到控件

  3. asp.net的form提交,在iis端都是提交一次,创建一个page类,当请求结束后。page类自动销毁,这样可以防止iis端存储太多个page从而消耗完内存。但是由于重新创建page,那么怎么能让数据保存(http无状态协议),所以就有了viewstate视图状态,用来使两次(多次)提交生成的page看起来好像是一个(保存了数据,然后把数据填充到对应的控件上)


最后,我还是想说,这是一个很大的话题,一定要自己去写代码,然后问为什么,然后才可以理解清楚。光靠我在这里扯淡,你不会有深入的体会。(我这种资质的感觉不行,也许楼主天资聪颖,那不在我的讨论范围)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式