各位强淫:
小弟最近做asp.net C#的上传时,有问题一直解决不了,各位牛人帮忙啊.
aspx内部分代码:
    <title>多文件上传</title> 
    <script language="JavaScript"> 
    function addFile() 
    { 
     var str = '<INPUT type="file" size="50" NAME="File">' 
     document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str) 
    } 
    </script>     <form id="form2" method="post" runat="server" enctype="multipart/form-data"> 
      <div align="center"> 
        <h3>多文件上传</h3> 
        <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P> 
        <P> 
          <input type="button" value="增加(Add)" onclick="addFile()"> 
          <input onclick="this.form.reset()" type="button" value="重置(ReSet)"> 
          <asp:Button Runat="server" Text="开始上传" ID="UploadButton"></asp:Button> 
        </P> 
        <P> 
        <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt"  
          Width="500px" BorderStyle="None" BorderColor="White"></asp:Label> 
        </P>  
      </div> 
    </form> aspx.cs内部分代码:
        ///'遍历File表单元素 
        HttpFileCollection files = HttpContext.Current.Request.Files;新建工程,上面的files是有值的.但放在自己的工程里,files的COUNT一直是0,
怎么回事啊?各位帮帮忙.

解决方案 »

  1.   

    代码没有问题,注意copy到你自己的工程中enctype="multipart/form-data"  这个别忘了写.
      

  2.   

    //--刚才测试了下没问题啊. 估计是你代码中其他地方有问题.<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testMoreUpload.aspx.cs" Inherits="testMoreUpload" %><!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"> 
        function addFile() 
        { 
         var str = '<INPUT type="file" size="50" NAME="File">' 
         document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str) 
        } 
        </script> 
    </head>
    <body>
        <form id="form1" runat="server" enctype="multipart/form-data">
       <div align="center"> 
            <h3>多文件上传</h3> 
            <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P> 
            <P> 
              <input type="button" value="增加(Add)" onclick="addFile()"> 
              <input onclick="this.form.reset()" type="button" value="重置(ReSet)"> 
              <asp:Button Runat="server" Text="开始上传" ID="UploadButton" OnClick="UploadButton_Click"></asp:Button> 
            </P> 
            <P> 
            <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt"  
              Width="500px" BorderStyle="None" BorderColor="White"></asp:Label> 
            </P>  
          </div>
        </form>
    </body>
    </html>.csusing System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class testMoreUpload : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void UploadButton_Click(object sender, EventArgs e)
        {
            HttpFileCollection files = HttpContext.Current.Request.Files;
            Response.Write(files.Count);
        }
    }
      

  3.   

    我的代码是放在UpdatePanel里的.不行吗?
      

  4.   

    我刚刚测了一下,
    <input onclick="this.form.reset()" type="button" value="重置(ReSet)"> 
    <asp:Button Runat="server" Text="开始上传" ID="UploadButton" OnClick="UploadButton_Click"></asp:Button> 
    这段代码放在UpdatePanel里就不起作用.把它放在UpdatePanel里面就不行.为什么啊?
      

  5.   

    天啊..updatepanel不支持这个..这个官方文档早就出了....解决的方法是把它放在<iframe>里面..