c# - 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
元素,因此它始终为空白。
我该如何管理?任何帮助,将不胜感激。
解决方案
AFAIK您无法创建自己的方式从服务器端代码弹出打开文件浏览器。这只能在客户端代码中完成。
你可以做的是寻找一些 JS 控件,它们可以为你提供一些你正在寻找的功能。
推荐阅读
- python - 当我使用 matplotlib 模块时,出现运行时错误
- python - 在 Python 3.6.9 中以纳秒为单位获取 Epoch 时间戳
- php - php中如何使用谷歌翻译将strings.xml文件翻译成其他语言
- google-apps-script - 谷歌表格脚本:获取工作表命名范围已打开
- ios - \'Diary\' 没有主键,无法更新
- c - MPI 程序在完成打印输出后崩溃
- batch-file - 10多个参数的批处理文件选择命令
- vue.js - 如何在 2 个 v-for 循环中使用 $index 值创建变量?
- javascript - 使用 Rails 6 和 Bootstrap 4 在 FullCalendar 中使用模态创建新事件
- postgresql - PostreSQL 分区表在大型数据集上运行速度快吗?