2

我有文件上传控制,可以使用更新面板上传个人资料图片。我已将 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>

任何人都可以帮忙吗?

4

3 回答 3

0

This code should work. It will not cause postback.

<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>
于 2014-05-06T10:03:14.000 回答
0

这应该工作

<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>
于 2013-10-25T11:49:04.617 回答
0

将触发器更改为回发触发器,因为当通过更新面板发生异步回发时,Request.Form.AllKeys 中不提供文件上传。看到这个:

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

于 2013-08-22T10:03:56.767 回答