2011-09-26 21 views
6

Tôi mới tham gia jqgrid và tôi đã học được nhiều điều qua câu trả lời của bạn.
Bây giờ tôi gặp sự cố: Tôi muốn tải lên tệp khi thêm hoặc sửa đổi bản ghi thành jqgrid?

Đây là mã của tôi:

jqgrid - tải lên một tệp trong hộp thoại thêm/chỉnh sửa

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



Tuy nhiên lĩnh vực tôi có trong bộ điều khiển luôn được null :(Bất kỳ đề nghị
Bất cứ ai cũng biết làm việc
dụ Cảm ơn trước

.? CẬP NHẬT
Tôi đã tìm thấy một ví dụ rất hay tại http://tpeczek.codeplex.com/releases

.210
+2

Liên kết của bạn gửi cho tôi ở một trang như vậy mà tôi không tìm thấy bất kỳ đầu mối nào như bạn đã nói rằng đây là ví dụ điển hình. – Tareq

+0

Tải xuống jqGrid trong ASP.NET MVC - Chỉnh sửa, TinyMCE, Tải lên (http://tpeczek.codeplex.com/releases/view/63305). Đó là phiên bản hoạt động – Dranix

Trả lời

5

tôi nhận nó làm việc chỉ yesterday..here là cột colModel tôi để tải lên tập tin,

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

Bạn phải thiết lập afterSubmit: UploadImage. Nó tải lên các tập tin chỉ sau khi dữ liệu đã được đăng bài trả lời & đã trở lại. Tôi đang kiểm tra ở đây rằng nếu chèn là succesfful sau đó chỉ bắt đầu tải lên khác hiển thị lỗi. Tôi đã sử dụng 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!'); 
      } 
     } 
    )   }                        
+0

Tại sao lại được thêm vào sự kiện afterSubmit? Cảm ơn bạn! –

+0

Tôi đang nhận readyState: 0, responseText: "", trạng thái: 0, statusText: "error" bên trong hàm UploadImage. Bất kỳ ý tưởng? – mikemike396

+1

Bạn không viết mã định dạng tùy chỉnh của bạn 'định dạng: jgImageFormatter'. Ngoài ra, vui lòng đề cập đến liên kết của thư viện fileUpload mà bạn đã sử dụng trong giải pháp của mình. Liên kết hiện tại đã chết – sohaiby

Các vấn đề liên quan