我在表单和按钮上有一个文件上传控件。单击按钮后,服务器会将文件转换为数据表并循环访问数据表记录以进行验证。

我的问题:验证过程需要很长时间,所以我想向用户显示正在处理的当前项目。

我的尝试:我发现 Ajax 和 SignalR 在这种情况下被实现。但是,Ajax 需要一个更新面板才能工作,而它不能与 updatefile 控件一起使用。我尝试了 SignalR,它可以工作,但是,它在回发期间无法工作 --> 显然。

任何人都可以帮助我找到解决方案。

谢谢!

最佳答案

嘿,你可以使用 ajaxToolkit 的 ModalPopupExtender 这样的东西

<ajaxToolkit:ModalPopupExtender ID="ProgressBarModalPopupExtender" runat="server"
                 BackgroundCssClass="ModalBackground" BehaviorID="ProgressBarModalPopupExtender"
                 TargetControlID="hiddenField" PopupControlID="Panel1" DynamicServicePath="" Enabled="True" />
        <asp:Panel ID="Panel1" runat="server" Style="display: none; background-color: #C0C0C0;">
      <p class="wait">Please wait!</p>

    </asp:Panel>
     <asp:HiddenField ID="hiddenField" runat="server" />

将上面的代码添加到您页面上的任何位置,然后在您的文件上传按钮上试试这个
 <input   type="submit" value="Upload" id="upload"
                     causesvalidation="False" onclick="javascript:return validateAdd();"
                    onserverclick="btnupload_ServerClick" runat="server" />

在 JavaScript 中
   function validateAdd() {
              var myExtender = $find('ProgressBarModalPopupExtender');
                    myExtender.show();
                    return true;
                }

并在后面的代码中
protected void btnupload_ServerClick(object sender, EventArgs e)
{
// your code of upload
//
// your code of upload

ProgressBarModalPopupExtender.Hide();
}

这将做

关于ASP.NET 在回发期间显示进度条,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24059067/

10-17 02:49