当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET多附件上传和附件编辑的实现

ASP.NET
关于.NET动态代理的介绍和应用简介
ASP.NET2.0服务器控件之类型转换器
ASP.net做的IP访问限制
Asp.Net2.0权限树中Checkbox的操作
ASP.NET数据库编程之Access连接失败
ASP.NET 2005 Treeview终极解决方案
ASP.NET数据库编程之处理文件访问许可
ASP.NET 2.0中的页面输出缓存
ASP.NET 2.0服务器控件开发之复杂属性
ASP.NET2.0中数据源控件之异步数据访问
將datagrid控件內容輸出到excel文件
ASP.NET技巧:教你制做Web实时进度条
实现基于事件通知的.Net套接字
ASP.NET技巧:同时对多个文件进行大量写操作对性能优化
ASP.NET中根据XML动态创建使用WEB组件
QQ关于.net的精彩对话
ASP.NET技巧:access下的分页方案
为自己的ASP网站系统构建一套标记语言
Visual Studio.Net 内幕(6)
Asp.Net中NHiernate的Session的管理

ASP.NET多附件上传和附件编辑的实现


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 199 ::
收藏到网摘: n/a

有一个问题需要注意,当保存编辑状态下的数据时,在服务端需要重新删除原有图片然后再重新添加图片,对于用户未在客户端修改的图片,则需要在保存数据前通过tbOldImgs隐藏域中的相关信息重新检索得到图片数据,然后重新保存图片。例如编辑状态下得到A、B、C三张图片,用户删除了图片C,添加了图片D,则保存时在服务端这样操作:先通过tbOldImgs隐藏域得到剩余的旧图片信息(即图片A和图片B),从数据库中检索出这些图片的数据,保存前先删除与该条数据相关的所有已上传图片,然后与得到的新图片(即图片D)一并存入数据库中。

还有一点就是,如果想要实现上传图片前判断图片文件的大小,必须通过C#代码来实现,这个不能简单地通过js脚本来实现,因为涉及到浏览器对客户端文件访问权限的限制。也就是说,需要将页面预先提交到服务器,判断完成后通知客户端接下来的行为,为了避免页面提交时客户端原有的状态丢失,可以采用隐藏iFrame的方式提交页面,这个在文章的一开始我已经提到过了。

总之,在Web中实现多附件上传必须借助于javascript来动态创建DOM,编辑状态下可以在服务端将事先处理好的DOM添加到页面上,并同时附件脚本事件,在服务端代码和客户端代码之间注意保存各个控件的状态。

完整代码下载:MultiAffix.rar