.NET 1.0Visual Studio .NET 2003WebForms.NET 1.1Visual Studio 2005.NET 2.0C# 2.0中级开发Visual StudioJavascriptWindows.NETASP.NETC#
ASP 文件打开对话框






1.46/5 (6投票s)
本文将帮助你在 ASP.NET Web 应用程序中获取文件打开对话框。
引言
“我想在我的 Web 应用程序中使用一个“文件打开对话框”控件。” 这听起来是一个常见且经常被问到的问题。 我也曾遇到过同样的问题,并开始寻找解决方案,但相信我,找到解决方案非常困难。 在一些帮助下,我找到了一个解决方案,并想与大家分享。
Using the Code
Web 应用程序当然没有任何标准的操作系统控件。 它是一个 Web 应用程序,而不是一个胖客户端应用程序。 呈现“文件”对话框给用户的唯一原因就是让他们上传文件。 标准 HTML “文件输入”表单元素已经存在了很长时间,正是为了这个目的:System.Web.UI.HtmlControls.HtmlInputFile
。
这就是我将要使用的控件,并围绕它进行操作以使事情更简单,并实现我想要的目标。 这是实现所有功能的代码片段
<script type="text/javascript"language="javascript">
function getFile()
{
document.getElementById("file1").click();
var file = "";
if(document.getElementById("TextBox1").value == "")
file = document.getElementById("file1").value;
else
file = document.getElementById("TextBox1").value +
"\r\n" + document.getElementById("file1").value;
document.getElementById("TextBox1").value = file ;
}
</script>
将此代码包含在表单的 ASPX 文件的头部。
需要的三个控件是
- ASP
Button
控件 - ASP
TextBox
控件 - HTML
FileUpload
控件
<asp:ButtonID="Button1" runat="server" OnClick="Button1_Click"
Style="left: 637px; position: absolute; top: 303px"
Text="Button" Width="65px" />
<asp:TextBoxID="TextBox1" runat="server" Height="12px" Width="9px">
</asp:TextBox>
<inputid="File1" type="file" style=
"width:119px;left:238px;position:absolute;top:41px;visibility:hidden;"
/>
记住 HTML FileUpload
控件的 style
属性中的“Visibility : Hidden
”选项是必需的,并且将完成实现所需的所有技巧。 它帮助你隐藏原始 HTML FileUpload
控件,并让所有工作都在按钮单击时完成,然后在最后,你可以在 ASP TextBox
控件中看到所选的文件路径。 你可以将它放置在其他控件中的任何位置,或用于进一步处理。
关注点
我希望这能帮助许多正在寻找解决方案的人,但请记住,它仅在 Microsoft 的 IE 中有效,但也有一个解决方案使其在 Firefox Mozilla 中也能工作……哈哈……继续寻找吧,伙计们……祝你好运。