在asp.net中为了一次能上传多个文件,且为了界面的美观,我采用了以一个input 型button控件来调用input file。为了将input file控件的值传回后台,定义了一个Hidden控件来保存input file中获得的路径。
这部分代码如下:
    <input id="BtnOpenFileChoose" runat="Server" onclick="CallFileUpload();"  type="button" value="文件路径"  />
   <input id="fileUploadChoose" style="display:none;" type="file" runat="Server"/>                       
   <input type="hidden" id="curFile" runat="Server" />   
   <script type="text/javascript">
          function CallFileUpload() {
                  this.form1.fileUploadChoose.click();
                  this.form1.curFile.value = this.form1.fileUploadChoose.value;
          }
   </script>
然后,再增加了一个<asp:Button ID="btnAddFile" runat="Server" OnClick="AddFileNameToListBox"   Text="添加文件" />,
定义其事件是将Hidden控件中得到地址,传到ListBox中。但问题出在,每次都需要点击这个Button两次才能将Hidden中的得到的地址传到ListBox中。
不知道是什么原因。恳请各位指教。
     在网上找了许久的答案,像在JavaScrip中加入
                                 this.btnAddFile.OnClick();
                                 document.getElementById("btnAddFile").onClick();
                                 this.btnAddFile.onclick();
                                 this.form1.submit();
等事件也无法解决。(加入这些语句中一个或几个时,会出现“拒绝访问”或btnAddFile为空或不是对象的网页错误)。