Asp: FileUpload и RAD ajaxmanager не работают вместе - PullRequest
0 голосов
/ 07 октября 2011

У меня есть следующий код для загрузки файла:

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

Но кажется, что управление загрузкой и Ajax не работают вместе.

Может кто-нибудь предложить мне альтернативы?Вот как я могу разрешить обновлять только панель, а не полную страницу?

1 Ответ

3 голосов
/ 07 октября 2011

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