当我将FileUpload放在更新面板中时,它不会出现在页面中

时间:2015-04-21 17:48:14

标签: c# asp.net file-upload

当我把它放在更新面板中时,不会出现文件上传。我需要在更新面板中添加它,因为FileUpload.HasFile始终返回false

我的HTML代码:

   <tr>
    <asp:UpdatePanel ID="UpdatePanel1"  runat="server">
       <ContentTemplate>
    <td>
       <asp:Button ID="btnUpload" runat="server" onclick="Button1_Click"   
         Text="Upload" />
                    </td>
               <asp:FileUpload ID="FUCivilID" runat="server" />
          <asp:Image ID="imgViewFile" runat="server" Height="60px"  
                     Width="275px" />
                </ContentTemplate>
              <Triggers>
  <asp:AsyncPostBackTrigger ControlID="Button1_Click" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>      
     </tr>

上传按钮代码:

if (FUCivilID.HasFile) 
{
   string ext = Path.GetExtension(FUCivilID.FileName);
   if (ext == ".jpg" || ext == ".png" || ext == ".gif")
   { 
      imgViewFile.ImageUrl = Server.MapPath("~/CivilIds/" + FUCivilID.FileName);
      FUCivilID.SaveAs(MapPath("~/CivilIds/" + FUCivilID.FileName));
      imgViewFile.ImageUrl = "~/CivilIds/" + FUCivilID.FileName;
   }

在页面加载中:

Page.Form.Attributes.Add("enctype", "multipart/form-data");

1 个答案:

答案 0 :(得分:0)

fileUpload控件有一些updatePanel(Microsoft)的问题,试着改变你的

 <asp:AsyncPostBackTrigger ControlID="Button1_Click" EventName="Click" />

表示

<asp:PostBackTrigger ControlID="Button1_Click" EventName="Click" />
  

在UpdatePanel中使用FileUpload或HtmlInputFile控件   控制,设置提交文件的回发控制为   面板的PostBackTrigger控件。 FileUpload和   HtmlInputFile控件只能在回发场景中使用。

还有其他选择,我已成功使用FUA