2012-10-11 35 views
1

我有一个母版页使用表单标签HTML输入文件,如果页面包含母版页

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

,并在页面我有HtmlInputFile

<input id="File1" 
      type="file" 
      accept="image/*" 
      runat="server"/>  
<input type="button" 
      id="Button1" 
      value="Upload" 
      OnServerClick="Button1_Click" 
      runat="server"/> 

和处理

 void Button1_Click(object Source, EventArgs e) 
    { 

     if (File1.PostedFile != null) 
     { 
     try 
     { 
      HttpPostedFile file = File1.PostedFile; 
      byte[] fileContent = new byte[file.ContentLength]; 

      file.InputStream.Read(fileContent, 0, file.ContentLength); 
     } 
     catch (Exception exc) 
     { 

     } 
     } 
    } 

但总是PostedFile = null !!!!

回答

2

尝试使用ASP.NET控件:

<asp:FileUpload id="File1" runat="server" /> 
+0

另外,与ASP.NET控件,你不需要指定表单标签的加密类型或方法。这些都是由框架根据需要产生的。 – CoderMarkus

+0

而且你也可以使用按钮控制,这使得事情更进一步。 – Olaf

+0

而且你可以使用File1.HasFile来确保文件被选中 - 我更喜欢空比较(可能只是我)。 – CoderMarkus