【发布时间】:2012-11-02 13:11:47
【问题描述】:
让我先尽可能简单地解释一下我的情况:
假设我有一个包含多个 [input type='File'] 的页面。其中一些可能会被选中,而另一些则不会。
在我的 httppost 方法中,我知道我需要使用像“IEnumerable files”这样的参数来获取文件名,而且我应该定义每个 [input] 名称 = 'files' 或 'files[0]','files[ 1]'等.....
我的问题是:在获取 HttpPostedFileBase 列表时,如何确定哪个文件属于哪个输入控件?因为有些输入可能会留空。
另外因为这些 [input] 是动态创建的,并且没有固定数量,我无法在 httppost 方法中为每个参数硬编码。
【问题讨论】:
-
如果它们是动态的,为什么你想知道哪个属于什么?
-
如果用户没有选择文件,您也可以看到编号。集合中的项目数等于编号。文件上传控件,因此您可以使用索引方法。
-
马克,我的表单有一个对象列表作为模型。这个 只是 1 个属性。所以有些对象可能有这个属性空白(用户没有选择文件)。从 testCoder 的“Request.Files.AllKeys[]”解决方案中,我可以将这些输入的名称设置为“file_ObjectId”。然后我可以比较知道哪个对象没有被选中一个文件。
标签: asp.net-mvc asp.net-mvc-3 razor