簡體   English   中英

在更新面板中顯示帶有文件上傳的進度更新

[英]Show Progress Update with File Upload in Update Panel

我正在使用VS2013和C#(webforms)在asp.net中開發一個網站。 我有一個頁面可以接受一些用戶輸入,包括<asp:FileUpload>服務器控件。 整個表單都位於更新面板中,這使我可以顯示進度更新div,該進度更新div在用戶提交表單時彈出。

我已經了解到,在更新面板中具有文件上傳服務器控件會導致問題,因此我正在使用<asp:PostBackTrigger>強制回發,以便上傳控件的.HasFile屬性並不總是為false。

在整個站點中,當由於數據庫活動而導致延遲時,我使用<asp:UpdatePanel><asp:UpdateProgress>向用戶顯示有一些活動,並保護該表單在用戶點擊后不會被更改或重新提交。提交。 工作正常。

問題在於<asp:PostBackTrigger>還會阻止<asp:UpdateProgress>出現。 這樣會使表單容易在提交后遭到用戶輸入的干擾,並且也是不良的用戶體驗。 因此,我處於陷阱22 –無法刪除PostBackTriggers,因為文件上傳控件將無法使用,並且由於PostBackTriggers阻止了它的顯示,因此我無法在提交時使用UpdateProgress。

一些代碼:

 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <%-- Some irrelevant code left out --%> <div class="row"> <div class="input-group col-sm-6"> <span class="input-group-addon" style="width: 175px; text-align: right;" id="basic-addon10">Signature</span> <asp:FileUpload ID="uplSignature" runat="server" CssClass="form-control" /> </div> <%-- Some irrelevant code left out --%> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="btnSubmit" /> </Triggers> <asp:UpdateProgress ID="UpdateProgress" runat="server" AssociatedUpdatePanelID="UpdatePanel1" DisplayAfter="0"> <ProgressTemplate> <div class="updateProgressMain" style="position: fixed;"> <div class="updateProgressDiv" style="position: fixed;"> <img src="Images/loader.gif" alt="" /> </div> </div> </ProgressTemplate> </asp:UpdateProgress> 

解決此問題的最佳方法是什么?

我在這里先向您的幫助表示感謝。

編輯 -我接受了Ajax控件工具包中的Ajax文件上載控件的使用作為答案,因為它確實可以解決我的問題。 我對此並不感到興奮,因為我發現很難進行樣式設置以使其與網站的外觀和風格相匹配-但這確實有效。 謝謝你的建議。

我將看一下Ajax控件工具包附帶的AjaxFileUpload控件。

以前我也遇到過類似的問題,請記住,ajax為我工作。

您可以在這里找到有關它的一些信息: https : //ajaxcontroltoolkit.devexpress.com/AjaxFileUpload/AjaxFileUpload.aspx

要獲取Ajax Control Toolkit,只需在NuGet中進行搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM