Asp:FileUpload и RAD ajaxmanager не работают вместе
У меня есть следующий код для загрузки файла:
<asp:Panel ID="pnlCauses" runat="server">
<asp:FileUpload ID="uplCauses" runat="server" />
<asp:Button runat="server" ID="btnUplCauses" Text="Upload" OnClick="btnUplCauses_Click" />
<asp:Label runat="server" ID="lblUplCausesStatus" Text="Upload status: " />
</asp:Panel>
И я использовал следующий код, чтобы позволить только pnlCauses для обновления.
<rad:AjaxSetting AjaxControlID="btnUplCauses">
<UpdatedControls>
<rad:AjaxUpdatedControl ControlID="pnlCauses" />
</UpdatedControls>
</rad:AjaxSetting>
Но, похоже, Upload control и Ajax не работают вместе.
Может ли кто-нибудь предложить мне альтернативы? Вот как я могу разрешить обновлять только панель, а не завершать страницу?
1 ответ
ASP.NET FileUpload не может загружать файлы с помощью вызовов AJAX. Вы должны принудительно выполнить запрос обратной передачи или использовать элемент управления, такой как RadAsyncUpload, для асинхронной загрузки файлов.
В документации Telerik есть обходной путь для старых элементов управления Telerik ASP.NET, как отключить вызовы AJAX кнопки загрузки в RadAjaxPanel:
<script type="text/javascript">
//on upload button click temporarily disables ajax to perform upload actions
function conditionalPostback(sender, args)
{
if(args.EventTarget == "<%= ButtonSubmit.UniqueID %>")
{
args.EnableAjax = false;
}
}
</script>
<rada:radajaxpanel runat="server" id="RadAjaxPanel1"
clientevents-onrequeststart="conditionalPostback">
<rad:radupload runat="server" id="RadUpload1" />
<asp:button id="ButtonSubmit" runat="server" text="Upload" />
</rada:radajaxpanel>