Загрузка файла ASP.Net, вызывающая публикацию на панели обновлений с использованием триггеров

У меня есть управление загрузкой файлов, чтобы загрузить изображение профиля с помощью панели обновления. Я использовал AsyncPostBackTrigger с панелью обновления, но страница по-прежнему вызывает полную обратную передачу.

Ниже мой встроенный код.

<asp:UpdatePanel ID="pnlZerkerBasicProfile" runat="server">
<input type="file" id="myFile" name="myFile" class="file_input_hidden" onchange="javascript:FileUploadSubmit();" style="cursor: pointer;" />
<Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnSaveProfilePicture" />
</Triggers>

Can anyone help?


person Dhaval Panchal    schedule 08.08.2013    source источник


Ответы (3)


измените триггер на триггер обратной передачи, поскольку загрузка файла недоступна в Request.Form.AllKeys, когда асинхронная обратная передача происходит через панель обновления. Видеть это:

http://www.codeproject.com/Articles/16945/Simple-AJAX-File-Upload

person Community    schedule 22.08.2013
comment
Спасибо за ответ, но я не хочу возвращать страницу. Любая альтернатива? - person Dhaval Panchal; 22.08.2013

Это должно работать

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="conditional">
            <Triggers>
                <asp:PostBackTrigger ControlID="Button1" />
            </Triggers>
            <ContentTemplate>
                 <asp:FileUpload ID="FileUpload1" runat="server" />
                 <asp:Button ID="Button1" runat="server"Text="Upload" OnClick="Button1_Click" />
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
person Jidheesh Rajan    schedule 25.10.2013

Этот код должен работать. Это не вызовет постбэк.

<asp:UpdatePanel ID="pnlZerkerBasicProfile" runat="server">
   <ContentTemplate>
      <input type="file" id="myFile" name="myFile" class="file_input_hidden" 
             onchange="javascript:FileUploadSubmit();" style="cursor: pointer;" />
      <asp:Button ID="btnSaveProfilePicture" runat="server"Text="Upload" 
           OnClick="btnSaveProfilePicture_Click" />
   </ContentTemplate>
   <Triggers>
       <asp:PostBackTrigger ControlID="btnSaveProfilePicture"  />
   </Triggers> 
</asp:UpdatePanel>
person Deepak Tiwary    schedule 06.05.2014