asp.NET控制器似乎没有按正确的顺序执行

时间:2014-12-02 02:12:07

标签: c# jquery asp.net asp.net-mvc-4

我正在使用jQuery文件上传插件并将zip文件发布到我的控制器。但是执行顺序正在发生一些我似乎无法弄清楚的事情。当我将调试点设置在顶部时,它似乎跳到我控制器的所有位置,因此,我的代码似乎没有像我认为的那样工作。

这是我的帖子:

$('#fileupload').fileupload({
    url: '/FileUpload/Import',
    add: function (e, data) {
        var fileSubmit = data.submit()
            .success(function (result, textStatus, fileSubmit) {
                var name = data.files[0].name;
                fileValidation(name, textStatus);

            })
            .error(function (fileSubmit, textStatus, errorThrown) {
                var name = data.files[0].name;
                fileValidation(name, textStatus);
            });           
    },
    done: function (e, data) {
        $.each(data.files, function(index, value){
            if (value.name == "") {
                alert("Error uploading: " + value.name + ". " + failStatus);
            }
            else 
            {
                $('#fileSubmit').show();
            }
        });
    }
});

这似乎像我想的那样开火。它将一次POST一个文件,如Fiddler所示:

enter image description here

asp.NET控制器似乎没有以正确的顺序执行,而是在所有地方反弹。这是我的控制器:

[HttpPost]
public ActionResult Import()
{
    List<ZipContents> fileList = new List<ZipContents>();
    var r = "File successfully uploaded.";

    try
    {         
        if (Session["SESSION_IMPORT_STORAGE"] != null)
        {

            fileList = (List<ZipContents>)Session["SESSION_IMPORT_STORAGE"];
        }

        Stream s = Request.Files[0].InputStream;
        String fn = Request.Files[0].FileName;
        fileList.Add(new ZipContents(s, fn));

        Session["SESSION_IMPORT_STORAGE"] = fileList;

    }
    catch
    {
        r = "An error occurred uploading file(s).";
    }

    return Json(r);
}

我的意思是,如果我将调试点设置为:

List<ZipContents> fileList = new List<ZipContents>();

然后将鼠标悬停在:String fn = Request.Files[0].FileName;上,它说:"moreXmlFiles.zip"

然后我按下F11并移动到下一行。再次进入try。并再次点击if statement

如果我再次点击F11,它会一直到我原来的调试点,当我再次将鼠标悬停在String fn = Request.Files[0].FileName;上时,它会显示下一个文件名。但我的代码甚至没有完成第一个文件...

有谁知道这里发生了什么?!任何帮助将非常感激。谢谢!

0 个答案:

没有答案