Anthem.NET(我的介绍和比较,还有一篇)刚刚发布了其最新的1.5版本,其中很不错的一个新功能就是对文件上传功能的Ajax实现。本文将简要介绍一下该功能的使用方法。

Anthem.NET的下载与安装

Anthem.NET可以在此下载:http://sourceforge.net/project/showfiles.php?group_id=151897&package_id=168043&release_id=493609

下载之后解压缩至硬盘中的某一目录中,编译项目得到Anthem.dll。然后将其拷贝到Web站点的bin目录下:

打开Web站点的Web.config文件,在configuration>\ <system.web>\ <pages>\ <controls>中添加如下一行,注册Anthem.NET控件:

<add tagPrefix="anthem" namespace="Anthem" assembly="Anthem"/>

Anthem.NET提供了一套自己就带有Ajax功能的、继承于现有ASP.NET控件的服务器端控件。根据上面在web.config文件中的注册,这部分控件的前缀为anthem。

Anthem.NET支持ASP.NET 1.1和ASP.NET 2.0,不过本文的示例程序均基于ASP.NET 2.0。

普通的ASP.NET文件上传

先看一下普通的ASP.NET文件上传功能的实现,代码如下:

<asp:FileUpload ID="defaultFileUpload" runat="server" />
<asp:Button ID="defaultUploadButton" runat="server" 
  OnClick="defaultUploadButton_Click" Text="Upload" />
<asp:Label ID="defaultResultLabel" runat="server" Text=""></asp:Label>

后台代码,只是简单地将文件名和文件大小显示出来:

protected void defaultUploadButton_Click(object sender, EventArgs e)
{
    defaultResultLabel.Text = string.Format("File \"{0}\" uploaded ({1} bytes).",
        defaultFileUpload.FileName,
        defaultFileUpload.FileBytes.Length
    );
}

Anthem.NET的Ajax文件上传

Anthem.NET中的Ajax文件上传功能靠的是其自己的FileUpload控件,其实使用起来和普通的ASP.NET FileUpload控件差不多,下面是HTML部分的代码:

<anthem:FileUpload ID="anthemFileUpload" runat="server" />
<anthem:Button ID="anthemUploadButton" TextDuringCallBack="uploading..." EnabledDuringCallBack="false"
    runat="server" Text="Upload" OnClick="anthemUploadButton_Click" />
<anthem:Label ID="anthemResultLabel" runat="server" Text=""></anthem:Label>

注意控件的前缀都是anthem。那个Button的TextDuringCallBack属性设置了异步回送时按钮中的文本;EnabledDuringCallBack属性让该按钮在进行异步回送时禁用,免得用户等得不耐烦。

后台代码同样是将文件名和文件大小显示出来,不过注意这一句anthemResultLabel.UpdateAfterCallBack = true;,用来在回调之后更新anthemResultLabel上的文字:

protected void anthemUploadButton_Click(object sender, EventArgs e)
{
    anthemResultLabel.Text = string.Format("File \"{0}\" uploaded ({1} bytes).",
        anthemFileUpload.FileName,
        anthemFileUpload.FileBytes.Length
    );
    anthemResultLabel.UpdateAfterCallBack = true;
}

示例程序演示

示例程序的界面如下,上面部分是普通的ASP.NET文件上传,下面是Anthem.NET的Ajax文件上传:

使用普通的ASP.NET文件上传,可以看到页面有一次闪烁,不过上传功能没什么问题:

而使用下面部分的Anthem.NET的Ajax文件上传,可以看到上传时的界面(按钮禁用,文本变化):

上传完成之后,没有页面闪烁:

打开Fiddler看看HTTP请求,上面的是传统上传,下面是Ajax的,差别显而易见……

代码下载

本文提到的完整的示例程序代码:http://files.cnblogs.com/dflying/AnthemNETFileUploadDemo.zip

转载于:https://www.cnblogs.com/dequan-lee/archive/2007/04/12/710013.html

(转自dflying chen)使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传相关推荐

  1. 博客园电子月刊[第一期]

    本版改进: 简化布局,使之更整洁. 由于客户端邮件不支持图片,去除了一些图片. 由于衡量文章标准不统一,去掉了推荐指数. 规范了文章的分类标准. 增加了作者博客链接,增强互动性. 提供订阅和退订服务. ...

  2. java ftp输出流_java输出流实现文件下载

    //导出Excel try { HSSFWorkbook wb = carService.export(list); //调用service方法~! response.setContentType(& ...

  3. Post-exploitation and Persistence Techniques Against Programmable Logic Controller

    PLC的后开发和持久化技术 一.摘要 二.威胁建模 三.攻击方法 (一)获取远程访问 (二)权限提升及收集信息 (三)持续化 四.攻击场景 五.结论 一.摘要   从对最近ICS重大事件的调查中可以看 ...

  4. 在本地测试无组件上传类上传大文件可以,在服务器上就不行,仿163网盘无刷新文件上传系统...

    回复  引用  查看     2008-10-20 11:03 | fkeuem 真的很不错.谢谢. 回复  引用  查看     2008-10-20 11:20 | PuserChen 下载了,学 ...

  5. 上周ASP.NET英文技术文章推荐[05/06 - 05/12]

    这是Dflying Chen 在上周推荐的英文文章,感觉很不错,可以一直没看完,记个笔记.别忘记了看. 本周ASP.NET英文技术文章推荐[05/06 - 05/12] 摘要 本期共有9篇文章: 强大 ...

  6. ASP.NET AJAX(开发代号Atlas)重要参考资源大收集

    英文网站部分 http://www.google.com 或者http://search.msn.com :不必多说 ASP.NET AJAX官方网站:不用多说了-- ASP.NET AJAX Con ...

  7. ASP.NET Atlas简单控件介绍——InputControl,TextBox,Button和CheckBox

    作者:Dflying Chen (http://dflying.cnblogs.com/) 注:本系列文章比较基础,基本为Atlas官方文档的翻译,熟悉Atlas的朋友可以跳过. 本系列有三篇文章: ...

  8. [转]吴某人的专栏--搜集一些最近要学习的东西 [dot net]

    http://blog.csdn.net/wujunj/archive/2006/07/15/926151.aspx 博客园是个好地方.最近又回到 dot net 平台开发.收据些东西.有时间慢慢啃 ...

  9. Java项目:资源下载工具(java+swing)

    源码获取:博客首页 "资源" 里下载! 功能简介: 下载地址.保存位置.下载设置.下载进度 文件仓库控制器: /*** @ClassName: FileStoreControlle ...

最新文章

  1. ensp删除静态路由命令_eNSP配置静态路由
  2. 5秒手机猫片也能重建猫咪3D模型,Meta提出新算法为变形物体建模 | CVPR 2022
  3. 数据库系统(三)——数据库安全性控制
  4. TypeScript里get属性的实现
  5. oracle 处理过程,Oracle SQL语句处理过程(转载)
  6. (转)创建X509证书,并获取证书密钥的一点研究
  7. 实验二十四、OSPF 在NBMA 环境中点到点的配置
  8. FPGA仿真类型简介
  9. 东欧视频游戏市场概况
  10. 分布式红锁的加锁的lua底层设计原理
  11. 福彩3D Matlab统计分析,基于ANSYS和遗传算法的3D打印桨叶结构优化设计的制作方法...
  12. Python3之pip加速
  13. 【matlab图像处理】图像直方图操作和matlab画图
  14. python常用颜色表示_Python命令行的常用颜色,python,字体
  15. 计算机函数LEN的意思,python的len函数什么意思
  16. java基于springboot畜牧场信息管理系统
  17. 伪随机生成器具体实现——杂乱的方法
  18. Fluter基础巩固之Dart语言详解一
  19. 视数字人民币为假想敌——数字美元的来龙去脉
  20. ​蔚来高速换电站,大家还没看懂的护城河

热门文章

  1. OpenGL基础4:最基础的单元 —— 三角形
  2. fail树(bzoj 3172: [Tjoi2013]单词)
  3. opencv 实现图像高斯金字塔
  4. javascript学习之模块拖拽功能的实现
  5. A股数据采集、策略制定
  6. jQuery Mobile中翻转拨动开关slider的data-*选项
  7. 贺利坚老师汇编课程28笔记:使用附加段寄存器ES进行拷贝
  8. centos7 卸载 jdk
  9. opencv生成灰度图并保存
  10. 进程和线程(4)-进程 vs. 线程