通过Jquery或JavaScript使用asp:FileUpload控件上载文件
在我的网络表单中,我想使用asp:FileUpload控件上载文件 所以当我点击Asp:button时;文件上传点击应该发生,OpenFileDialog应该打开 FilePathBrowser.ascx通过Jquery或JavaScript使用asp:FileUpload控件上载文件,javascript,c#,asp.net,Javascript,C#,Asp.net,在我的网络表单中,我想使用asp:FileUpload控件上载文件 所以当我点击Asp:button时;文件上传点击应该发生,OpenFileDialog应该打开 FilePathBrowser.ascx <script type="text/javascript" src = "../Scripts/jquery-1.2.6.js"> $(document).ready(function () { $(document).on('change', '#<%= fUpl
<script type="text/javascript" src = "../Scripts/jquery-1.2.6.js">
$(document).ready(function () {
$(document).on('change', '#<%= fUpload.ClientID %>', function () {
if (document.getElementById('<%= fUpload.ClientID %>').files.length === 0) {
return;
}
$('#<%= btnText.ClientID %>').trigger('click');
});
});
</script>
<table width="100%">
<tr>
<td style="width:80%;"><asp:TextBox ID="txtFilePath" runat="server" CssClass="FlatTextbox" Width="100%" ReadOnly="true" ></asp:TextBox></td>
<td style="width:10%; padding-left:15px"><asp:Button ID="btnText" runat="server" Text="" CssClass="FlatButton" Width="100%" onclick="btnText_Click" /></td>
<td style="width:10%"><asp:FileUpload ID="fUpload" runat="server" Visible="false" OnClick="DoOpenFileDialog()"/></td>
</tr>
</table>
在网页Menu.aspx上
<UserControl:FPBrowser ID = "fpbImageUpload" runat = "server" ButtonText="Browse.." FilePathText="" OnBrowseClick="fpbImageUpload_BrowseClick"/>
因此对话框无法打开。有人知道我在代码中遗漏了什么吗?将此javascript函数添加到usercontrol
function hookFileClick() {
// Initiate the File Upload Click Event
document.getElementById('<%=fUpload.ClientID%>').click();
}
function callme(oFile) {
document.getElementById('<%=txtFilePath.ClientID%>').value = oFile.value;
}
那么问题在哪里呢?所以对话框没有打开。有人知道我在代码中遗漏了什么吗。??
protected void fpbImageUpload_BrowseClick(object sender, EventArgs e)
{
if (fpbImageUpload.HiddenFileUploadCtrl.HasFile)
{
String fileName = fpbImageUpload.HiddenFileUploadCtrl.FileName;
fpbImageUpload.FilePathText = Path.Combine(Helper.FileUploadPath, fileName);
fpbImageUpload.HiddenFileUploadCtrl.SaveAs(Path.Combine(Helper.FileUploadPath, fileName));
}
}
function hookFileClick() {
// Initiate the File Upload Click Event
document.getElementById('<%=fUpload.ClientID%>').click();
}
function callme(oFile) {
document.getElementById('<%=txtFilePath.ClientID%>').value = oFile.value;
}
<table width="100%">
<tr>
<td style="width:70%;"><input ID="txtFilePath" runat="server" type="text" class="FlatTextbox" style= "width:100%;" /></td>
<td style="width:29%; padding-left:15px"><asp:Button ID="btnText" runat="server" Text="" CssClass="FlatButton" Width="100%" OnClick="btnText_Click" OnClientClick="javascript:return hookFileClick();" /></td>
<td style="width:1%"><asp:FileUpload ID="fUpload" runat="server" Style="visibility: hidden;width:1px" onchange="callme(this)"/></td>
</tr>
</table>
protected void fpbImageUpload_BrowseClick(object sender, EventArgs e)
{
if (fpbImageUpload.HiddenFileUploadCtrl.HasFile)
{
String fileName = fpbImageUpload.HiddenFileUploadCtrl.FileName;
//fpbImageUpload.FilePathText = Path.Combine(Helper.FileUploadPath, fileName);
fpbImageUpload.HiddenFileUploadCtrl.SaveAs(Path.Combine(Helper.FileUploadPath, fileName));
}
}