jqgrid-загрузка файла в диалоге добавления / редактирования


Я новичок в jqgrid, и я узнал много вещей через ваш ответ.
Теперь у меня есть проблема: я хочу загружать файлы при добавлении или изменении записей в jqgrid?

Это мой код.:

{
    name: 'File',
    index: 'file',
    hidden: true,
    enctype: "multipart/form-data",
    editable: true,
    edittype: 'file',
    editrules: {
        edithidden: true,
        required: true
    },
    formoptions: {
        elmsuffix: '*'
    }
}



Однако поле, которое я получил в контроллере, всегда будет null :(. Любое предложение
Кто-нибудь знает рабочий пример?
Заранее спасибо

обновить
Я нашел очень хороший пример в http://tpeczek.codeplex.com/releases

1 6

1 ответ:

Я заработал его только вчера..вот моя колонка colModel для загрузки файлов,

{
    name: 'fileToUpload',
    index: 'customer_id',
    align: 'left',
    editable: true,
    edittype: 'file',
    editoptions: {
        enctype: "multipart/form-data"
    },
    width: 210,
    align: 'center',
    formatter: jgImageFormatter,
    search: false
}

Вы должны установитьafterSubmit: UploadImage . Он загружает файл только после того, как данные были отправлены и ответ пришел обратно. Я проверяю здесь, что если вставка была успешной, то только начать загружать еще показать ошибку. Я использовалjQuery Ajax File Uploader .

function UploadImage(response, postdata) {

    var data = $.parseJSON(response.responseText);

    if (data.success == true) {
        if ($("#fileToUpload").val() != "") {
            ajaxFileUpload(data.id);
        }
    }  

    return [data.success, data.message, data.id];

}

function ajaxFileUpload(id) 
{
    $("#loading")
    .ajaxStart(function () {
        $(this).show();
    })
    .ajaxComplete(function () {
        $(this).hide();
    });

    $.ajaxFileUpload
    (
        {
            url: '@Url.Action("UploadImage")',
            secureuri: false,
            fileElementId: 'fileToUpload',
            dataType: 'json',
            data: { id: id },
            success: function (data, status) {

                if (typeof (data.success) != 'undefined') {
                    if (data.success == true) {
                        return;
                    } else {
                        alert(data.message);
                    }
                }
                else {
                    return alert('Failed to upload logo!');
                }
            },
            error: function (data, status, e) {
                return alert('Failed to upload logo!');
            }
        }
    )          }