如果题主了解web的工作原理,就不会问这种问题了。
创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元汕尾做网站,已为上家服务,为汕尾各地企业和个人服务,联系电话:13518219792
一帮工作流程是,
1,客户端发送请求到服务端的某个地址,如
发送请求的方式一般分两种,GET和POST,两种方式不多做介绍了,题主自己百度吧,只说一下发送数据方式的区别。
GET方式,把客户端发送的数据放在请求地址的后面,已问号分割,就像这样
?sb=liyanhongxx=xxx
这样,?后面就是你发送给服务端的数据。
而post方式,则是把提交的数据直接写入打开的http流中,地址栏中是看不到的,想要看的话,按F12打开浏览器调试,在网络请求中查看请求正文。不过这种方式发送的数据长度更大,毕竟地址栏长度有限。而且post方式可以发送二进制数据,实现文件上传功能,当然,GET方式也可以实现上传文件,不过很麻烦,要先把二进制数据通过base64运算变成字符串,放到请求地址后面,服务端脚本再base64逆运算,把字符串还原成二进制数据,进行存储。麻烦不说,还占资源,关键是之前说的,地址栏长度有限,大文件也上传无能。
2,服务端接收请求,并解析请求地址,如果是请求纯静态html文件,那么服务器读取html后将读取的数据返回给客户端。如果是访问动态脚本,服务器通过某种调用方式(如iis的fastcgi等)运行服务器端的脚本,如上面地址中的sb.php,,并将用户请求的数据传递给脚本,也就是问号后面的数据,之后sb.php根据用户请求数据运行某些程序代码,生成响应数据,返回给服务器,服务器再将这些数据返回给客户端。
3,客户端接收服务端返回的相应数据,并通过浏览器的html引擎解析html超文本成页面。
看了上面的,就应该了解表单的提交过程了,input里填写的数据,在提交的时候,和input的name一起发送给form的action地址,如input name="aaa",发送的时候,就是“aaa=文本框里填写的数据”。多个input,以“”分割,如“aaa=xxxbbb=xxxx”这样。所以,input一定要有name属性,不然服务端无法识别,题主你就没写,记得补上。浏览器会根据form的method属性值决定是采用GET方式还是POST方式。如果没有这个属性,默认应该是POST方式,题主你也没写,记得补上。
之后,服务器解析请求,将aaa=xxxbbb=xxxx传递给请求的php文件,这时候,php脚本运行时就可以调用这个表单传递过来的数据了。实际上这时候,请求数据已经存放到一个php可以调用的数组中了。调用方式是$_REQUEST("aaa")和$_REQUEST("bbb")括号引号中间就是表单控件的name。不过通过$_REQUEST数组不区分POST,GET和COOKIE,所以占用资源而且效率低,最好的方法还是根据表单的请求方式来使用数组,如果表单是post方式,那就用$_POST数组,GET方式就用$_GET数组,如$_POST("aaa")和$_GET("aaa")。这样是最节省开销的方法。
写了这么多,如果题主认真看应该能明白了吧?看在我闲的蛋疼,全程手打的份上,采纳吧。
确保每个控件有个name属性,相同列的name属性值要相同,例如:name="xxx[]",php的话要把每一列的值作为数组传给后台程序,然后把table放在一个form中,比较简单的思路就是这样了,当然也可以用ajax传json给后台,还有推荐使用jquery,原生js写得真是蛋疼啊。。。
没听说过页面对file控件数目有限制,应该是与上传的数据大小限制相关。你试试都上传很小的文件,看看能不能获取20个之后的数据!
不要用SqlDataSource之类的数据源控件,在后台用代码实现FormView控件绑定数据GridView1.DataSource = userInfo; GridView1.DataBind(); 这是gridview的