从MVC返回相当于Web表单的JSON

时间:2014-09-01 13:48:37

标签: asp.net json

我尝试使用plupload上传文件,而在MVC中,我的代码如下:

public ActionResult Upload()
    {
        for (int i = 0; i < Request.Files.Count; i++)
        {
            var file = Request.Files[i];
            file.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "Uploads/" + file.FileName);
        }

        return Json(new { success = true }, JsonRequestBehavior.AllowGet);
    }

现在我想在网络表单中做同样的事情。我在提交按钮中添加了这些代码,然后单击

 protected void submitBtn_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < Request.Files.Count; i++)
        {
            var file = Request.Files[i];
            file.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "Uploads/" + file.FileName);
        }

    }

我需要将success = true发送到我的plupload javascript代码,将这些照片写入我的文件夹。

 $(document).ready(function () {
        var uploader = new plupload.Uploader({
            runtimes: 'html5,flash,silverlight,html4',
            browse_button: 'pickfiles',
            container: document.getElementById('container'),
            url: '/Admin.aspx',
            flash_swf_url: '/Scripts/Moxie.swf',
            silverlight_xap_url: '/Scripts/Moxie.xap',

            filters: {
                max_file_size: '10mb',
                mime_types: [
                    { title: "Image files", extensions: "jpg,gif,png" },
                    { title: "Zip files", extensions: "zip" }
                ]
            },

            init: {
                PostInit: function () {
                    document.getElementById('uploadfiles').onclick = function () {
                        uploader.start();
                        return false;
                    };
                },


                UploadProgress: function (up, file) {
                    _file_name = file.name;

                    $('#PhotoBox').val(_file_name);

                    console.log(file.name);

                },

                Error: function (up, err) {
                    alert("\nError #" + err.code + ": " + err.message);
                }
            }
        });

        uploader.init();
    });

所以是否有任何等效的

 return Json(new { success = true }, JsonRequestBehavior.AllowGet);

for asp.net Web Forms?

1 个答案:

答案 0 :(得分:2)

简单地说

if (!IsPostBack) {
    for (int i = 0; i < Request.Files.Count; i++)
    {
        var file = Request.Files[i];
        file.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "Uploads/" + file.FileName);
    }
}

在你的页面加载事件中,一切都会好的