1

我在formview edittemplate中使用fileupload控件

    <asp:FileUpload ID="fileup_profilfoto" runat="server" />
      <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="Sadece şu formatlar (.jpg, .bmp, .png, .gif)" ValidationExpression="^.*\.(jpg|JPG|png|PNG|bmp|BMP|gif|GIF)$" ControlToValidate="fileup_profilfoto" ForeColor="#00C0CC"></asp:RegularExpressionValidator>

它正在工作。但是我添加了一个更新面板然后它没有工作,然后我删除了更新面板。但它仍然返回错误(hasfile)

  protected void frmviewProfil_ItemUpdating(object sender, FormViewUpdateEventArgs e)
    {
        try
        {
            FileUpload fileup_profilfoto = (FileUpload)frmviewProfil.FindControl("fileup_profilfoto");
            if (fileup_profilfoto.HasFile)
            {
                //do something
            }
           else
            {
            //do something
            }
          }
      }

总是去其他范围。

4

3 回答 3

3

嗨使用触发器来实现这一点

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional">
  <Triggers>
    <asp:PostBackTrigger ControlID="Button1" />
 </Triggers>
 <ContentTemplate>
   <asp:Label ID="Label1" runat="server"></asp:Label><br /><br />
   <asp:FileUpload ID="FileUpload1" runat="server" />
   <asp:Button ID="Button1" runat="server" Text="Upload" OnClick="Button1_Click" />
  </ContentTemplate>
 </asp:UpdatePanel>

后面的代码

  protected void Button1_Click(object sender, EventArgs e)
  {
      if (FileUpload1.HasFile)
      {
          Label1.Text = FileUpload1.FileName;
      }
  }
于 2013-04-28T17:53:53.473 回答
0

您是否对 fileupload 控件的属性进行了任何操作,例如将 autopost back 值设置为 false?如果为假,请尝试将其设置为真。

于 2013-04-28T14:42:00.643 回答
0

当我遇到这个问题时,我遇到了这个问题,并想我也会发布我的问题和解决方案。

确保您尝试上传的文件大于 0 字节。我试图上传一些空白文本文件进行测试,每个文件的FileName属性设置正确,但HasFile总是错误的。向文件添加一些文本为其提供了一些内容,并且文件能够成功上传。

于 2014-10-14T19:04:20.620 回答