【问题标题】:asp.net file upload inside formview always return false (not in updatepanel)在 formview 中上传 asp.net 文件总是返回 false(不在更新面板中)
【发布时间】:2013-04-28 14:33:29
【问题描述】:

我在 formview 编辑模板中使用文件上传控件

    <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>

它正在工作。但是我添加了一个更新面板然后它没有工作,然后我删除了更新面板。但它仍然返回 false (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
            }
          }
      }

总是使用 else 范围。

【问题讨论】:

    标签: asp.net file-upload formview


    【解决方案1】:

    您可以使用触发器来实现这一目标

     <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;
          }
      }
    

    【讨论】:

      【解决方案2】:

      您是否对文件上传控件的属性进行了任何操作,例如将自动回发值设置为 false?如果为假,请尝试将其设置为真。

      【讨论】:

      • 嘿@callum thganks 但是文件上传控件没有自动回发属性。而且我没有对文件上传控件的属性做任何更改。我不敢相信,它正在工作。我删除了更新面板,因为这个。但我认为这与它无关
      • 嗯奇怪..这似乎是一个愚蠢的答案,但尝试关闭并重新打开视觉工作室,这一直是我过去的问题。
      • 呵呵,你是对的。但是你的提议并不愚蠢。Asp.net 很愚蠢。请确保我尝试过,重新打开项目,甚至清除 cookie 但无法解决 :) 谢谢队友
      【解决方案3】:

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

      确保您要上传的文件大于 0 字节。我试图上传一些空白文本文件进行测试,每个文件的 FileName 属性设置正确,但 @ 987654322@ 总是错误的。在文件中添加一些文本给它一些内容,并且文件能够成功上传。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-22
        • 1970-01-01
        • 2013-03-26
        • 2023-03-14
        • 1970-01-01
        • 2022-12-18
        • 2013-08-10
        相关资源
        最近更新 更多