如何在aspx.cs 里面获取html 控件值

aspx 页面

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="AutoPhoto_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <script language="javascript" type="text/ecmascript">   
//======================   
//功能:在表单中input file控件   
//参数:parentID---要插入input file控件的父元素ID   
//    inputID----input file控件的ID   
//======================   
function createInput(parentID,inputFileID){     
  var parent=$(parentID);//获取父元素   
    
  var div=document.createElement("div");//创建一个div容器用于包含input file   
  var x=parseInt(Math.random()*(80-1))+1;   
  var divName=inputFileID+x.toString();//随机div容器的名称   
  div.name=divName;   
  div.id=divName;   
    
  var  aElement=document.createElement("input"); //创建input   
  aElement.name=inputFileID;   
  aElement.id=inputFileID;   
  aElement.type="file";//设置类型为file   
    
  var delBtn=document.createElement("input");//再创建一个用于删除input file的Button   
  delBtn.type="button";   
  delBtn.value="删除";   
  delBtn.onclick=function(){ removeInput(parentID,divName)};//为button设置onclick方法   
    
  div.appendChild(aElement);//将input file加入div容器   
  div.appendChild(delBtn);//将删除按钮加入div容器   
  parent.appendChild(div);//将div容器加入父元素   
}   
//============================   
//功能:删除一个包含input file的div 容器   
//参数:parentID---input file控件的父元素ID   
//    DelDivID----个包含input file的div 容器ID   
//============================   
function removeInput(parentID,DelDivID){   
 var parent=$(parentID);   
 parent.removeChild($(DelDivID));   
}   
//通过元素ID获取文档中的元素    
function $(v){return document.getElementById(v);}  

    </script>

</head>
<body>
    <form id="form1" runat="server">
        <div align="left" id="div_Pic" style="border: 1px solid #CCCCCC">
            <input name="PicFile" type="file" id="ShowPicFile">
        </div>
        <input type="button" onclick="createInput('div_Pic','PicFile')" name="button" id="button"
            value="+ 继续添加图片">
    </form>
</body>
</html>

点击“+ 继续添加图片”时会产生一个新的上传控件。

<form id="form1" method="post" runat="server" enctype="multipart/form-data">

后台获取控件
HttpFileCollection files = HttpContext.Current.Request.Files;

enctype="multipart/form-data"

ENCTYPE="multipart/form-data"用于表单里有图片上传。

<form name="userInfo" method="post" action="first_submit.jsp"    ENCTYPE="multipart/form-data">
表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。
如下:
<tr>
      <td height="30" align="right">上传企业营业执照图片:</td>
      <td><INPUT TYPE="FILE" NAME="uploadfile" SIZE="34"    onChange="checkimage()"></td>
    </tr>
就得加ENCTYPE="multipart/form-data"。


表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。
form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的:

SmartUpload su = new SmartUpload();//新建一个SmartUpload对象

su.getRequest().getParameterValues();取数组值

su.getRequest().getParameter( );取单个参数单个值
enctype="multipart/form-data"解释

HttpFileCollection Files = HttpContext.Current.Request.Files;
for(int i=0;i<Files.Count;i++)
{
HttpPostedFile f=Files[i];
}

原文地址:https://www.cnblogs.com/shangshen/p/3450672.html