Compartilhe o código-fonte de um controle de barra de progresso de upload sem atualização baseado em retorno de chamada. O HttpMoudule usado neste controle é baseado em uma amostra da barra de progresso de upload do Baoyu. Ele é encapsulado em um controle para facilitar o uso. Nenhum código é necessário, basta configurar o web.config, adicionar uma referência ao HttpModule e arrastar o controle para a página. A operação de salvamento de arquivo na página é exatamente igual ao upload de arquivo asp.net tradicional. Você pode definir o atributo para ir para outras páginas quando ocorrer um erro durante o processo de upload ou quando o upload for bem-sucedido. Compatível com IE, Firefox, Opera. Ele não foi testado em outros ambientes, mas por ser baseado no retorno de chamada Asp.Net2.0, outros navegadores devem suportá-lo, desde que suporte xmlhttp ou iframe.
Para demonstração on-line, visite: http://teddy.cn/test
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default. aspx.cs" Herança=" _Default" %>
2
3<%@ Registrar Assembly="Framework.Web" Namespace="Ilungasoft.Framework.Web.UI.WebControls"
4 TagPrefix="cc1" %>
5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
6<html xmlns=" http://www.w3.org/1999/xhtml ">
7<head id="Head1" runat="servidor">
8 <title>Página sem título</title>
9</cabeça>
10<corpo>
11 <form id="form1" runat="servidor">
12
13 <asp:FileUpload ID="FileUpload1" runat="servidor" /><br />
14<br />
15 <asp:Button ID="Button1" runat="server" Text="Upload" OnClick="Button1_Click" /><br />
16<br />
17 <cc1:UploadProgressBar ID="UploadProgressBar1" runat="server" UploadButtonName="Button1" UploadErrorRedirectUrl="UploadError.aspx">
18 </cc1:UploadProgressBar>
19<br />
20<br />
21</div>
22 </form>
23</corpo>
24</html>
Default.aspx.cs
1usando Sistema;
2usando System.Data;
3usando System.Configuration;
4usando System.Web;
5usando System.Web.Security;
6usando System.Web.UI;
7usando System.Web.UI.WebControls;
8usando System.Web.UI.WebControls.WebParts;
9usando System.Web.UI.HtmlControls;
10
11classe parcial pública _Padrão: System.Web.UI.Page
12{
13 Page_Load nulo protegido (remetente do objeto, EventArgs e)
14 {
15
16}
17 protegido void Button1_Click (objeto remetente, EventArgs e)
18 {
19 FileUpload1.SaveAs(Server.MapPath("test.tmp"));
20}
vinte e um}
Você não acha que há mais código do que antes de usar esse controle? ;-)
Aproveitar!