загрузка файла asp.net внутри formview всегда возвращает false (не в updatepanel)

Я использую элемент управления загрузкой файлов внутри formview edittemplate

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

всегда идет остальные области применения.


person serdar    schedule 28.04.2013    source источник


Ответы (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;
      }
  }
person Shafqat Masood    schedule 28.04.2013

Делали ли вы что-нибудь со свойствами элемента управления загрузкой файлов, например устанавливали для значения autopost back значение false? Попробуйте установить для него значение true, если оно неверно.

person Callum    schedule 28.04.2013
comment
эй, @callum thganks, но элемент управления загрузкой файлов не имеет свойства autopostback. И я не вносил никаких изменений в свойства элемента управления загрузкой файлов. Я не мог поверить, что он работает. - person serdar; 28.04.2013
comment
Хм, странно ... это кажется глупым ответом, но попробуйте закрыть и снова открыть визуальную студию, это было проблемой для меня в прошлом. - person Callum; 28.04.2013
comment
хе-хе, вы правы. Но ваше предложение не глупо. Asp.net глупо. Убедитесь, что я пробовал, повторно открываю проект, даже очищая файлы cookie, но не смог решить :) спасибо, дружище - person serdar; 28.04.2013

Я столкнулся с этим вопросом, когда у меня была эта проблема, и решил, что опубликую, в чем заключалась моя проблема и решение.

Убедитесь, что размер файла, который вы пытаетесь загрузить, превышает 0 байт. Я пытался загрузить несколько пустых текстовых файлов для тестирования, и для каждого файла было правильно задано свойство FileName, но HasFile всегда было ложным. Добавление текста в файлы дало им некоторый контент, и файл можно было успешно загрузить.

person j.f.    schedule 14.10.2014