我有一个带有两个上传控件和一些文本字段的webform。 按下按钮后,文件将上传,然后进行处理。 上传不花时间,但处理确实如此。 我知道我在更新面板中没有上传控件,所以我无法弄清楚如何使用更新进度控件来显示我的进度。
我的带有updateprogress控件的页面如下工作:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1" DynamicLayout="true">
<ProgressTemplate>
<div class="LOADING">
Your data is being processed<br />
<br />
<img src="/images/loading.gif" /><br />
<br />
Please wait...
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<div class="addFixture">
<asp:ValidationSummary ID="ValidationSummary1" ValidationGroup="fixture" runat="server" />
<label>
Type
<asp:DropDownList ID="ddlType" runat="server" AppendDataBoundItems="true">
<asp:ListItem Text=""></asp:ListItem>
</asp:DropDownList>
<label>
Date
</label>
<asp:TextBox ID="txtDate" runat="server"></asp:TextBox>
<label>
Name 1</label>
<asp:TextBox ID="txtName1" runat="server"></asp:TextBox>
<label>
Name 2
<asp:TextBox ID="txtName2" runat="server"></asp:TextBox>
<label>
First XML File</label>
<asp:FileUpload ID="firstFileUp" runat="server" />
<br />
<label>
Second Xml File</label>
<asp:FileUpload ID="secondFileUp" runat="server" />
<br />
<br />
<asp:Button ID="SubmitButton" runat="server" CausesValidation="true" Text="Submit" OnClick="SubmitButton_Click" />
<asp:Label ID="ErrorMessageLabel" runat="server" EnableTheming="false"></asp:Label>
</div>
</ContentTemplate>
</asp:UpdatePanel>
我已经搜索了这个,但是人们似乎正在尝试获取文件上传的进度而不是处理。
有人可以帮忙吗?
答案 0 :(得分:3)
删除UpdatePanel,因为您无法在其中使用FileUpload控件。
使用以下值添加到SubmitButton OnClientClick属性:OnClientClick="showProgress()"
还可以在下面的页面javascript函数中添加:
function showProgress() {
var updateProgress = $get("<%= UpdateProgress1.ClientID %>");
updateProgress.style.display = "block";
}
顺便说一下,考虑使用一些异步文件上传控件,就像Ajax Control Toolkit库中的一样;
答案 1 :(得分:0)
如果您使用ASyncFileUploadControl,可以使用UpdatePanel和FileUpload。它工作得很好。请确保下载最新版本,因为先前版本存在一些问题。