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 ответ:
Я заработал его только вчера..вот моя колонка 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!'); } } ) }