带有fileuploadfield的Ext表单(提交后的响应)

时间:2012-11-06 08:39:55

标签: c# asp.net-mvc extjs

真的不明白哪里出错了。

我有一个带有fileuploadfield的表单。请求被发送好,我的控制器上的操作获取所有参数,与它们一起工作,并向浏览器发送响应。但是在html页面中,提交表单后,总是会触发FAILURE事件,而不是SUCCESS。

客户端代码

Ext.create('Ext.form.Panel', {
        renderTo: 'Container',
        bodyPadding: '10 10 0',
        items: [
        {
            xtype: 'form',
            width: 300,
            border: false,
            fileUpload: true,
            items: [
            {
                xtype: 'combobox',
                id: 'PayTypes',
                width: 215,
                store: PayTypesStore,
                valueField: 'id',
                displayField: 'Name',
                editable: false,
                name: 'id'
            }
            ,
            {
                xtype: 'filefield',
                id: 'form-file',
                name: 'file',
                buttonText: '',
                buttonConfig: {
                    iconCls: 'upload-icon'
                }
            }
            ],
            buttons: [
            {
                text: 'Send',
                handler: function () {
                    var form = this.up('form').getForm();
                    if (form.isValid()) {
                        form.submit({
                            url: 'UploadFile',
                            waitMsg: 'Uploading your photo...',
                            success: function (fp, o) {
                                console.log("success");
                                msg('Success', 'Processed file on the server');
                            },
                            failure: function (form, action) {
                                console.log(action);
                                Ext.Msg.alert('Failed', action.result ? action.result.message : 'No response');
                            }
                        });
                    }
                }
            }
            ]
        }
        ]
    });

服务器端代码:

public JsonResult UploadFile(HttpPostedFileWrapper file, int id)
    {
        var response = Json(new { success = true });
        response.ContentType = "text/html";

        return Json(response);
    }

回应,在客户端收到:

{"ContentEncoding":null,"ContentType":"text/html","Data":"success":true},"JsonRequestBehavior":1,"MaxJsonLength":null,"RecursionLimit":null}

在我的代码中我需要修复什么才能在sumniting形式之后获得SUCCESS事件?

1 个答案:

答案 0 :(得分:0)

您曾两次调用Json方法。你唯一需要的是

public JsonResult UploadFile(HttpPostedFileWrapper file, int id)
{
    return Json(new { success = true });
}