1

我有一个页面,它有多个文件上传输入,其中有与正在上传的文档类型相关的 ID 和名称,如下所示:

<input type="file" name="postedFile_37" id="37">
<input type="file" name="postedFile_23" id="23">

在我的控制器中,如何识别上传的名称或 ID,以便将文档分配给数据库中上传的类型?

例如,我可以看到,如果我这样做

Request.Files[i]

我可以看到索引的名称,但无法获取要保存的值。如何从发布的文件上传中获取名称或 ID?

4

2 回答 2

2

尝试在每个文件旁边添加隐藏字段,这样您就有两个数组 - 第一个是文件本身,第二个是 id。

<input type="hidden" name="fileId" value="37" />
<input type="file" name="file" />
<input type="hidden" name="fileId" value="38" />
<input type="file" name="file" />

.

public ActionResult Test (string[] fileId, List<HttpPostedFileBase> file)
{
    int i = 0;
    foreach (var f in file)
    {
        var id = fileId[i]; // this is your file id, f is file
        i++;
    }
}
于 2013-06-07T14:01:56.747 回答
0

如果您使用 ASP.NET FileUpload 控件而不是纯 HTML 控件,则可以在 PostBack 中单独访问它们(按 ID)。

于 2013-06-07T14:06:39.030 回答