asp.net使用JS+form表单Post和Get方式提交数据
更新时间:2019年01月23日 10:42:00 作者:chenqiangdage
今天小编就为大家分享一篇关于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” 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(“.”)));
}
}
}
//
//……其他代码
//
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对华域联盟的支持。如果你想了解更多相关内容请查看下面相关链接
您可能感兴趣的文章:Node.js系列之发起get/post请求(2)vue基础之使用get、post、jsonp实现交互功能示例nodejs 使用http进行post或get请求的实例(携带cookie)AngularJS发送异步Get/Post请求方法vuejs使用axios异步访问时用get和post的实例讲解nodejs使用express获取get和post传值及session验证的方法nodejs之get/post请求的几种方式小结angularJS 发起$http.post和$http.get请求的实现方法js get和post请求实现代码解析
c#
asp.net
js
post
get
相关文章
asp.net 去除viewstate生成了这么多的一段东西,这段东西对seo一点好处也没有。而我要做的就是去掉它,但有一点,去掉但不能让它原来的控件和内容都发生变化 2009-03-03
ASP.NET如何获取两个日期之间的天数这篇文章主要介绍了ASP.NET获取两个日期之间的天数方法,需要的朋友可以参考下 2014-03-03
asp.net中使用DatagridView的增删改方法具体实现asp.net中使用DatagridView的增删改方法具体实现,需要的朋友可以参考一下 2013-06-06
ASP.net Menu控件在Google Chrome和Safari浏览器下显示错位的解决在ASP.NET网站项目中添加Others.browser内容如下 2009-05-05
gridview自动排序示例分享GridView自带了数据排序功能。在设计视图下,只能对GridView的排序数据列和排序方向进行静态设置。在后台程序中,则需要用Attributes方式对GridView的这两个属性进行动态设置 2014-01-01
基于MVC5中的Model层开发数据注解下面小编就为大家分享一篇基于MVC5中的Model层开发数据注解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 2017-12-12
一个简单的ASP.NET Forms 身份认证的实例方法当访问默认首页default.aspx时,会自动跳转到login.aspx页面上请求登录,随便输入用户名和密码,点击“登录”按钮,会回到首页,并显示当前登录的用户名。 2013-07-07
asp.net用url重写URLReWriter实现任意二级域名Asp.net 用url重写(URLReWriter)实现任意二级域名 2008-10-10
详细介绍.NET中的动态编译技术这篇文章详细介绍了.NET中的动态编译技术,有需要的朋友可以参考一下 2013-11-11
VS2015开发环境的安装和配置本文主要是给大家把C#开发环境各种版本的更新和安装过程重新整理一下贡献出来,希望对小伙伴们能够有所帮助 2016-07-07
最新评论

评论(0)