我有文件上传控件,可以使用更新面板上传个人资料图片。我已经将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>
有人可以帮忙吗?
答案 0 :(得分:0)
更改触发器回发触发器,因为当通过更新面板发生异步回发时,Request.Form.AllKeys中的文件上载不可用。见:
http://www.codeproject.com/Articles/16945/Simple-AJAX-File-Upload
答案 1 :(得分: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>
答案 2 :(得分:0)
此代码应该有效。它不会导致回发。
<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>