FileUpload的Value属性是只读的,[继续添加附件]按钮不能执行提交事件,否则就会出现你提到的问题,想办法用客户端Javascript实现,一次提交客户端生成所有FileUpload的值
解决方案 »
- VS2008 ASPX 生成的页面怎么显示拖动条
- 请教一个关于asp.net 和 flash 数据交互的问题,涉及到flash as脚本,解决有重谢谢!
- 还问vs2005打包发布问题。
- xp 中安装vs.net发现只能用windows application不能用asp.net工程
- 菜鸟问题:有几种方法可以释放Session的值
- 帮忙看看这个编译错误是怎么回事?
- 在线等,在使用用户控件中的DataGrid时引发了关于CurrentPageIndex错误.
- 当多个用户同时要读到某一段代码,怎样保证只让一个用户读?
- 我上传文件后发现数据库里存了C:\Inetpub\wwwroot\DL\Classmate\photo\Class.Resource\M1682.jp我怎能够转化成http://lochost/DL\Classma
- 关于treeView的问题,请各位帮帮忙!
- 高手帮忙,动态生成静态的问题
- Excel导出(左下角Sheet1重命名问题)(解决马上给分)
//container_id 是指FILEUPLOAD控件显示的页面TAG
// 如有这样一段代码
/*
<p id="attachs">
</p>
附件显示在上面, 那么再有一个BUTTON的onclock="Attachment('attachs')"就OK啦
*/
代码如下:function Attachment(container_id) {
var o = document.getElementById(container_id);//得到容器
var filebutton = '<br><input type="file" size="70%" name="File" class="txt" />';
o.insertAdjacentHTML("beforeEnd",filebutton);// 写入
}
===============================
你的错误的原因是发送提交给服务器端的,客户端的页面被刷新,楼上的也说了,fileupload是只读,所以状态无法保存,但ajax在这种情况下,几乎没有用武的余地,主要是js操作本地文件的二进制内容受到的限制太多。
所以解决方案是添加新附件不要提交服务器端,也就是说不要用服务器端的方法去处理新附件二要用js
最后发送邮件时在服务器端用
Request.Files 获得所有的附件
孟子网站上有专门的讲解