65.9K
CodeProject 正在变化。 阅读更多。
Home

ASP 文件打开对话框

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.46/5 (6投票s)

2007年9月23日

CPOL

2分钟阅读

viewsIcon

59114

downloadIcon

2008

本文将帮助你在 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 文件的头部。

需要的三个控件是

  1. ASP Button 控件
  2. <asp:ButtonID="Button1" runat="server" OnClick="Button1_Click" 
        Style="left: 637px; position: absolute; top: 303px" 
        Text="Button" Width="65px" /> 
  3. ASP TextBox 控件
  4. <asp:TextBoxID="TextBox1" runat="server" Height="12px" Width="9px">
    </asp:TextBox>
  5. HTML FileUpload 控件
  6. <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 中也能工作……哈哈……继续寻找吧,伙计们……祝你好运。

© . All rights reserved.