我在表单和按钮上有一个文件上传控件。单击按钮后,服务器会将文件转换为数据表并循环访问数据表记录以进行验证。
我的问题:验证过程需要很长时间,所以我想向用户显示正在处理的当前项目。
我的尝试:我发现 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/