首页 > 解决方案 > OpenFileDialog - 如何在c#中选择文件后将文件路径设置为输入类型=文本元素

问题描述

我想在我的 asp.net 4.5.1 项目中添加一个“浏览”按钮,而不使用 FileUpload 控件。. 最终用户应该能够浏览并选择其本地文件夹中的文件,并且我想将该文件夹的完整路径设置为我的<input type='text' id='rptScreenShot' ... />元素。

为此,我添加了一个按钮并使用了 OpenFileFialog,我不能直接使用它,因为我需要根据我的研究使用 Threading,所以我的最终代码:

protected void btnUploadScreenshot_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Title = "Browse JPG Files";

            var thread = new Thread(new ParameterizedThreadStart(param => { if (openFileDialog1.ShowDialog() == DialogResult.OK) { rptScreenShot.Value = openFileDialog1.FileName; }; }));
            thread.SetApartmentState(ApartmentState.STA);
            thread.Start();
        }

单击“浏览”按钮后,会弹出文件对话框;但是,当我选择一个文件并单击“确定”时,文件路径未设置为相关的文本输入。请注意,当我这样做时MessageBox.Show(openFileDialog1.FileName),它会显示完整的路径,但我无法将其设置为我的input type=text元素,因此它始终为空白。

我该如何管理?任何帮助,将不胜感激。

标签: c#asp.netopenfiledialogasp.net-4.5

解决方案


AFAIK您无法创建自己的方式从服务器端代码弹出打开文件浏览器。这只能在客户端代码中完成。

你可以做的是寻找一些 JS 控件,它们可以为你提供一些你正在寻找的功能。


推荐阅读