在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为空或不是对象的网页错误)。
这部分代码如下:
<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为空或不是对象的网页错误)。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货