C# 网页上传电子表格文件并读取数据内容,可以使用进度条或提示条吗?
以前使用window form可以使用进度条来显示上传文件及数据的进度,现在需要用web form来替换window form来实现上传文件及更新数据的进度。
使用ScriptManager及UpdatePanel 可以局部刷新使用进度条,但却无法同时获取要上传文件的文件名,FileUpload1 控件可能是要传递整页数据,造成两个控件同时使用达不到效果。 有什么办法可以得到这种效果吗?即能上传文件并读取文件数据,还能显示进度情况,让用户比较好的体验吗
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<script type="text/javascript" language="javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
var elem = args.get_postBackElement();
ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' processing...');
}
function EndRequestHandler(sender, args) {
ActivateAlertDiv('hidden', 'AlertDiv', '');
}
function ActivateAlertDiv(visstring, elem, msg) {
var adiv = $get(elem);
adiv.style.visibility = visstring;
adiv.innerHTML = msg;
}
</script>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="Server" >
<ContentTemplate>
<asp:Button ID="Btn_Process" runat="server" Text="Upload" Onclick="UploadClick_Handler"/>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="Btn_Process" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
<div id="AlertDiv" class="AlertStyle"></div>
</ProgressTemplate>
</asp:UpdateProgress>