2 zhao19890429 zhao19890429 于 2016.02.20 15:49 提问

asp.net后台获取前台file控件的值 5C

在asp.net前台使用js函数添加一个file控件(html),现在想在后台获取到前台js添加的file控件的值,使用HttpFileCollection files = HttpContext.Current.Request.Files; 后,必须要在前台添加一个fileupload服务器控件,否则获取不到,什么原理??有人能解释一下吗??

2个回答

showbo
showbo   Ds   Rxr 2016.02.20 20:06

因为你不加服务器端fileupload,表单是不会添加 enctype="multipart/form-data"这个属性的,没有这个属性就无法收集文件,除非你手动添加 enctype="multipart/form-data"属性

 <form method="post" runat="server" id="form1" enctype="multipart/form-data">
kings_zj
kings_zj   2016.02.23 11:30

是的, 楼上说的很正确。
你用的js生成的,需要在form中设置multipart/form-data,才会在后台的HttpFileCollection中找到Files信息。
另外这个不能上传,可联系发邮件给我334305212@qq.com,我发一个封装好的图片异步上传的js给你。可以直接使用的。
我一直都在用。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
ASP.Net 如何让后台的cs页面获取到前台的html控件的值
ASP.Net 如何让后台的cs页面获取到前台的html控件的值? 以前都会的东西,时间长忘记了,做下笔记   name="Text1"/>   获取方法: public partial class Default2 : System.Web.UI.Page { pr
.Net后台获取前台input控件值方法
以textbox为例   默认的添加input控件只有id属性,想在后台使用input控件值需要添加name属性:   后台调用:  string value = Request.Form["txt"].ToString();
asp.net服务端代码如何获取客户端控件的值?
在login.aspx页面中有一个INPUT客户端控件 现在要在login.aspx.cs文件后台编码中获取这个txtuserName的value值。 有三种方法: 一、把txtUserName作为服务器端控件运行 如: 客户端操作:document.getElementById ("Text1").value="aaa"; 服务端
asp.net后台怎样获取前台JS的值?
前台代码                   $(function() {             $.post("CacheDemo.aspx", { "strWidth": window.screen.width,"strHeight":window.screen.height }, function(data, status) {                 if (status 
asp.net 从后台得到htmlinput的值的两种方式
1、//得到txtProductName元素的值,数组的形式 string[] txtProductName = Request.Params.GetValues("txtProductName");   2、//得到txtProductName元素的值,以字符串的形式 string str=Request.Form["txtProductName"].ToString();
asp.net中js前台为span或后台lable,或Literal控件赋值
function clickMe() {             document.getElementById("lb2").innerText = "Hello world";             document.getElementById("lb3").innerText = "Hello world3";             return;         }
.net控件页面处用js赋值后台接收不到数据的解决方案
我的问题                                                                                                         我使用了  目的是点击文本框弹出一个js的日期控件。如图1 (图1) 选取日期后后台使用如下后台代码接收参数 String sEndDate = txtEndDat
C#后台获取前台HTML控件值实例
        例一:纯客户端控件在服务器端取得的方法 string strvalue=Request.Form.Get("edisundong");例二:纯客户端控件 string[] strvlaues=Request.Form.GetValues("sex");
【Asp.net】前台的Html控件向后台传值以及前台的html的input按钮如何调用后台的方法
一、前言      前一段的时候,同事有个项目是Asp.net的,自己有一段的时间没有接触了,反过来找个时间研究了一下她的项目,功能其实很简单,就是一个简单的登录页面,前面用到的是html控件,两个input,一个button。功能就是登录,但由于是Asp.net涉及到了前后台的传值,这篇博客就重点介绍一下:Asp.net的前后台如何传值,后台如何接收html的值,以及前台的html的input按钮
ASP.NET(C#)中将TextBox控件的Readonly属性设置为True时后台直接取值取不到的解决方案
当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为“空”。经过尝试,发现可以通过如下的方式解决这个问题: 方法一:不设置ReadOnly属性,通过onfocus=this.blur()来模拟,如下: