问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ASP中表单GET和POST提交方式的异同?

发布网友 发布时间:2022-04-27 08:16

我来回答

2个回答

懂视网 时间:2022-04-27 12:38

最近工作中用到了一种使用JS+form用post方式上传文件一种方式。前台用Html input,使用JS方式往服务器上传文件,具体实现看代码:

前台页面使用aspx网页,使用input 标签,用其file类型;此标签不使用runat="server".不使用服务器控件;这里需要加上一个iframe标签。并隐藏;设置一a标签。用来作为用户点击按钮;调用JS函数:Uploadfun();

 <div>
 <input type="file" id="FileUpLoad" name="FileUpLoad" style="width:140px;" />
 <a href="javascript:void(0);" rel="external nofollow" onclick="Uploadfun()">上传</a>
 <iframe name="hidden_frame" id="hidden_frame" style="width:10%;display:none;"></iframe>
 </div>

JS代码如下:

function Uploadfun(){
 var _file = document.getElementById("FileUpLoad"); //此处是前台页面的 input 标签的ID
 var _form = document.createElenent("form"); //创建一个form
 document.body.appendChild(_form);//添加一个form
 _form.encoding = "multipart/form-data"; //使用该编码规程可以不限制 post表单2M大小的限制
 _form.method="post";//使用POST方式
 _form.action="../Service/FileSrv.aspx?Type=Client&CallFun=UploadFile"; //此处使用Get方式,传到前台页面的后台Server代码层;
 // 这个是本人工作中的项目位置
 _form.target = "hidden_frame";
 var pos = _file.nextSibling;
 _form.appendChild(_file);
 _form.submit();
 pos.parentNode.insertBefore(_file,pos);
 document.body.renoveChild(_form);
 }

C#层代码:就是JS代码中的form的action的所标识。在FileSrv.aspx的后台cs代码中,我们可以通过使用getquery方法,得到使用Get方式传过来的参数;

这个例子里参数Type=Client是一个模块标识,CallFun则是指出cs代码层要调用的响应函数;UploadFile();

代码如下:

private void UploadFile()
 {
 //
 //......其他代码
 //
 HttpFileCollection files = HttpContext.Current.Request.Files;
 if(files.Count>0)
 {
 int lintTemp = files[0].FileName.LastIndexOf(".");//得到input标签中的file文件路径;
 string lstrFileType = string.Empty;
 string lstrContentType = string.Empty;
 if(lintTemp!=-1 &&files[0].FileName.Length>lintTemp+1)
 {
  lstrFileType = files[0].FileName.Substring(lintTemp+1).ToUpper();
 }
 if(lstrFileType.ToUpper()=="JPG")
 {
  if(files[0].ContentLength<10485760)
  {
  //记得要先保存到应用程序发布所在的服务器上!
  files[0].SaveAs(Server.MapPath("~/Files/")+"JPG1."+files[0].FileName.Substring(files[0].FileName.LastIndexOf(".")));
  }
 }
 }
 //
 //......其他代码
 //
 }

总结

热心网友 时间:2022-04-27 09:46

GET提交的一般数据量比较少,在地址栏里显示出来,POST一般用来登录,能提交的数据量比较多。用百度搜一下其实这类答案特多的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 网络连接不上什么办 接连不什么 如何快速入门金融经济学,看懂财经新闻 学财经怎么入门?本人大专毕业一年。不是财经类专业 想学学财经方面的知识,应该看些什么书? 为什么设置输入法会自己换 入门级别的财经杂志 麻烦推荐一些适合初学者看的财经书籍或者网站 贴墙布多少钱一平方,墙布铺贴前后有哪些注意事项? 怎样学习财经知识 求:财经知识入门书籍 财经入门 手臂皮肤上有些貌似水泡一样的小点点特别痒,你要是挠痒这个小点点很快就鼓起来了,像做完皮试那样的小包 手上起了小水泡,好痒,有什么好办法 有痔疮走路也疼怎么办 这是痔疮吗,走路的时候真疼,好心人告诉我该怎么用药呢? 手臂上长了一片红色小水泡,很痒,应该怎么 我每次便后稍微有点疼痛不出血,但是走路的时候*有点疼,这是痔疮吗? 手臂上突然就长了一小片水泡,小小的,一开始不算痒,后面就慢慢的痒起来了,然后现在就是特别痒,一抓就 肛门长了东西,走路的时候觉得有点疼,是痔疮么 银行卡联网是什么意思 全省联网社保卡是什么意思 GBA联网卡是什么卡 2016年8月中国上映的电影有哪些 周冬雨于张一山电影什么时候上映 哎,伟大领袖毛主席,你是我们心中的红太阳是什么歌曲? ASP中表单同时用GET和POST方式提交要如何处理? 发了份实习报告,对老师讲请您注意查收,会不会不礼貌啊?《 海鲜配啤酒有什么危害? 为什么海鲜和啤酒搭配容易诱发痛风病? 请注意查收,用日语怎么说 单号1129457738786注意查收? 邮政:9620032107382,您注意查收 9898964352595邮政 补发单号注意查收? 单号请注意查收1113304240380 中通快递719639685560注意查收 高弓马蹄足怎么办 马蹄外翻足如何治疗 马蹄足现在双腿基本无法走路去长沙那里看会好一些? 途岳仪表盘trip显示3000km