遇到这样的一个问题:
上传文件的时候,还要给上传的文件添加一些说明,而且其中要添加一些事件处理程序。结果是:当我处理完事件处理程序后,原来在File里选择的文件路径就都没了,让我很郁闷,不是明明给它的视图设定为true吗?为什么还是没有了呢?
我反复的测试后发现,file的value属性为只读的,如果在ASP.net里试图给它赋值,会抛出一个异常。如果在JS里给他赋值会没有任何反应。如果直接在控件上赋值也会是没有任何反应。这也就是为什么没有办法给它保存视图的原因了,视图本身也是一种用程序给控件赋值的原理,所以File没有办法给它赋值了。
其实这是合理的,否则我可以强制用户上传他不想上传的文件,这样会引发很多安全问题。因为一但可以为File控件(HtmpInputFile),那就可以用欺骗的手段让用户上传一些敏感文件了。
然而这也给程序设计带来了小问题,当然其实也不存在什么问题,只是要求用户再多选择一次文件罢了,如果用户要操作其它事件的时候。再就没办法了。
文章来源:http://computer.mblogger.cn/wucountry/posts/48440.aspx