OpenFileDialog - 如何在 c# 中选择文件后将文件路径设置为输入类型=文本元素

OpenFileDialog - how to set file path to input type=text element after a file is selected in c#

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

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

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();
        }

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

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

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

您可以四处寻找一些 JS 控件,它们可以为您提供一些您正在寻找的功能。