[英]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.