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

发布时间:2021-08-09 10:32:20 作者:小新
来源:亿速云 阅读:289

这篇文章将为大家详细讲解有关asp.net如何使用JS+form表单Post和Get方式提交数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

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

 <div>
  <input type="file" id="FileUpLoad" name="FileUpLoad"  />
  <a href="javascript:void(0);" rel="external nofollow" onclick="Uploadfun()">上传</a>
 <iframe name="hidden_frame" id="hidden_frame" ></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(".")));
          }
        }
      }
      //
      //......其他代码
      //
    }

关于“asp.net如何使用JS+form表单Post和Get方式提交数据”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. PHP中GET和POST的提交方式对比
  2. Ajax请求的原理 get及post方法 和get,post请求方式的区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asp.net js

上一篇:在AspNetCore中如何使用极验做行为认证

下一篇:Hibernate如何使用hbm.xml配置映射关系

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》