Asp.net mvc Uploadify-MVC3:如何传回表单收集数据?

Asp.net mvc Uploadify-MVC3:如何传回表单收集数据?,asp.net-mvc,asp.net-mvc-3,uploadify,Asp.net Mvc,Asp.net Mvc 3,Uploadify,我有一个视图模型,它显示在使用uploadify的视图中。我需要把收集的数据传回邮局。我该怎么做 视图模型: public class ViewModel { string Name; IEnumerable<Junk> theJunk; } public Junk { int id; string Name; } 下面是一篇关于这个场景的文章。您可以使用scriptData参数,该参数允许您向服务器传递附加值。但是,由于uploadify为每个文件发送多

我有一个视图模型,它显示在使用uploadify的视图中。我需要把收集的数据传回邮局。我该怎么做

视图模型:

public class ViewModel
{
   string Name;
   IEnumerable<Junk> theJunk;
}

public Junk
{
   int id;
   string Name;
}

下面是一篇关于这个场景的文章。您可以使用
scriptData
参数,该参数允许您向服务器传递附加值。但是,由于uploadify为每个文件发送多个请求(假设您已将
multi
选项设置为true),因此您可以有两个控制器操作:第一个操作将针对每个选定的文件命中,以便将其保存在某个位置,第二个操作将在所有文件上载并发送表单数据后处于热状态。如果您不希望在选择文件后立即开始上载,则还应将
自动
选项设置为false。

下面是一个介绍此情况的示例。您可以使用
scriptData
参数,该参数允许您向服务器传递附加值。但是,由于uploadify为每个文件发送多个请求(假设您已将
multi
选项设置为true),因此您可以有两个控制器操作:第一个操作将针对每个选定的文件命中,以便将其保存在某个位置,第二个操作将在所有文件上载并发送表单数据后处于热状态。如果您不想在选择文件后立即开始上传,您还应该将
自动
选项设置为false。

要整合您的问题,您需要更新多个文件和强类型表单(模型),并且您想知道如何执行此操作?@Erik Philips:per the upload()post back,在通过Uploadify上传多个文件时调用,我想在Upload()post back中返回我的视图模型(或任何形式的数据)。FormsCollection返回时为空,并且与Uploadify相关,当Uploadify插件初始化时,您需要单独传递表单数据。要整合您的问题,您需要更新多个文件和强类型表单(模型),并且您想知道如何执行此操作?@Erik Philips:per The Upload()post back,通过Uploadify上传多个文件时调用,我想在Upload()post back中返回我的视图模型(或任何形式的数据)。FormsCollection返回时为null,并且与Uploadify相关,在Uploadify插件初始化时,需要单独传递表单数据。
@model ViewModel

@using (@Html.BeginForm())
{
  <input type="file" name="dr405" id="dr405" />

    <div>
        @Html.LabelFor(model => model.Name)
        @Html.EditorFor(model => model.Name)
    </div>        
    @Html.EditorFor(model => model.theJunk)

    <input type="submit" value="Upload Junk" /> 
}

<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(function () {
        jQuery("#dr405").uploadify({
            'uploader': '@Url.Content("~/Scripts/uploadify.swf")',
            'cancelImg': '/Content/themes/base/images/cancel.png',
            'buttonText': 'Browse Files',
            'script': 'home/upload',
            'folder': '/uploads',
            'fileDesc': 'Image Files',
            'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
            'sizeLimit': '38000',
            'multi': true,
            'auto': true,
        });
    }); 
    </script> 
   [HttpPost]
    public ActionResult Upload(HttpPostedFileBase fileData, FormCollection collection)
    {
        // Get my view model here
        // ...get the main Name!
        // ...get the collection of Junk 

        return "ok";
    }