首页 > 开发 > .Net > 正文

asp.net使用JS+form表单Post和Get方式提交数据

2019-10-27 12:20:23
字体:
来源:转载
供稿:网友

最近工作中用到了一种使用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(".")));          }        }      }      //      //......其他代码      //    }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对CuoXin错新网的支持。


注:相关教程知识阅读请移步到ASP.NET教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表