Поделитесь исходным кодом элемента управления индикатором выполнения загрузки без обновления на основе обратного вызова. HttpMoudule, используемый в этом элементе управления, основан на образце индикатора выполнения загрузки Baoyu. Он инкапсулирован в элемент управления для удобства использования. Никакого кода не требуется, просто настройте web.config, добавьте ссылку на HttpModule и перетащите элемент управления на страницу. Операция сохранения файла на странице точно такая же, как и традиционная загрузка файла asp.net. Вы можете установить атрибут для перехода на другие страницы при возникновении ошибки в процессе загрузки или при успешной загрузке. Совместимость с IE, Firefox, Opera. Он не тестировался в других средах, но поскольку он основан на обратном вызове Asp.Net2.0, другие браузеры должны поддерживать его, если он поддерживает xmlhttp или iframe.
Для онлайн-демонстрации посетите http://teddy.cn/test
исходный код и образец загрузки 2<конфигурация> .
3 <Настройки приложения/>
4 <connectionStrings/>
5 <система.веб>
6 <компиляция debug="true"/>
7 <режим аутентификации="Windows"/>
8 <httpМодули>
9 <add name="HttpUploadModule" type="Ilungasoft.Framework.Web.Modules.UploadProgressModule, Framework.Web"/>
10 </httpМодули>
11 <httpRuntime maxRequestLength="1000000" ExecutionTimeout="300"/>
12 </system.web>
13</конфигурация>
Default.aspx (Обратите внимание, что в строке 17 необходимо установить для UploadButtonName элемента управления идентификатор кнопки, которая инициирует событие загрузки на странице)
1<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default. aspx.cs" Inherits=" _Default" %>
2
3<%@ Register 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="server">
8 <title>Страница без названия</title>
9</head>
10<тело>
11 <form id="form1" runat="server">
12 <дел>
13 <asp:FileUpload ID="FileUpload1" runat="server" /><br />
14 <br />
15 <asp:Button ID="Button1" runat="server" Text="Загрузить" 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 </форма>
23</body>
24</html>
Default.aspx.cs
1с использованием системы;
2использование System.Data;
3использование System.Configuration;
4использование System.Web;
5использование System.Web.Security;
6использование System.Web.UI;
7с использованием System.Web.UI.WebControls;
8с использованием System.Web.UI.WebControls.WebParts;
9с использованием System.Web.UI.HtmlControls;
10
11публичный частичный класс _Default: System.Web.UI.Page
12{
13 protected void Page_Load (отправитель объекта, EventArgs e)
14 {
15
16}
17 protected void Button1_Click (отправитель объекта, EventArgs e)
18 {
19 FileUpload1.SaveAs(Server.MapPath("test.tmp"));
20}
двадцать один}
Не кажется ли вам, что кода стало больше, чем до использования этого элемента управления? ;-)
Наслаждаться!