【发布时间】:2014-11-23 08:20:52
【问题描述】:
在我的网络表单中,我想使用 asp:FileUpload 控件上传文件,
所以当我点击 Asp:button; FileUpload 点击应该发生并且 OpenFileDialog 应该打开。
文件路径浏览器.ascx
<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>
FilePathBrowser.ascx.cs
public partial class FilePathBrowser : System.Web.UI.UserControl
{
public event EventHandler BrowseClick;
public string FilePathText
{
get { return txtFilePath.Text; }
set { txtFilePath.Text = value; }
}
public string ButtonText
{
get { return btnText.Text; }
set { btnText.Text = value; }
}
public FileUpload HiddenFileUploadCtrl
{
get { return this.fUpload; }
set { fUpload = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnText_Click(object sender, EventArgs e)
{
BrowseClick(sender, e);
}
}
网页菜单.aspx
<UserControl:FPBrowser ID = "fpbImageUpload" runat = "server" ButtonText="Browse.." FilePathText="" OnBrowseClick="fpbImageUpload_BrowseClick"/>
菜单.aspx.cs
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));
}
}
所以对话框没有打开。有谁知道我在代码中遗漏了什么。??
【问题讨论】:
-
那么问题在哪里??
-
所以对话框没有打开。有谁知道我在代码中缺少什么。??
标签: javascript c# asp.net