2012-09-21 37 views
0

我有1個問題我沒有找到答案。在jQuery對話框中列出 - MVC,Ajax

(MVC):在主視圖中,我已經將一個部分視圖加載到Jquery UI對話框中。我創造的東西和我向一切數據庫submit.In我有一個輸入類型=「文件」與「多」的屬性,它可以幫助我上傳一些照片

(<input type="file" multiple="") 

形式。我發送照片列表(HttpPostedFileBase)到數據庫。問題是我總是收到一個NULL列表

問:什麼問題?我也有一些不起作用的Ajax代碼。

在另一個返回View的控制器使用的相同代碼工作得很好。我認爲這是對話的問題。從主視圖

對話框代碼:

$('#element').dialog({ 
     autoOpen: false,   
     modal: true, 
     open: function (event, ui) { 
      $(this).load('@Url.Action("AddCar", "Cars")', function (html) {      
       $('form', "#sDiv").submit(function() { 
        $.ajax({ 
         url: this.action, 
         type: this.method, 
         data: $(this).serialize(), 
         success: function (res) { 
          if (res.success) { 
           $('#element').dialog('close'); 
          } 
          window.location.reload(); 
         } 
        }); 
        return false; 
       }); 
      }); 
     } 
+0

-1:你的問題很難理解。它沒有解釋你的要求。請你修改它,以便我們能夠理解你的要求 – Ashes

回答

0

你似乎使用AJAX提交表單。但是這不被支持。你不能使用jQuery AJAX函數上傳文件。您也可以查看支持uploading filesjquery.form plugin

有2個陣營在那裏:

  1. HTML5 - 由現代瀏覽器,你可以使用File API to upload files與AJAX支持。
  2. 傳統陣營 - 像IE瀏覽器這樣的事情,它不支持File API,並且你必須回退到諸如隱藏的iframe之類的技術和模擬它的東西。這就是jquery.form插件做什麼 - 它檢測到哪個陣營所屬的瀏覽器,並使用合適的技術

還有,你可能籤很多其他文件上傳組件,如UploadifyPluploadBlueimp File UploadValums AJAX uploader,和別的。如果你不想編碼所有的底層傳輸機制,只需選擇一個並集成到應用程序中即可。

+0

謝謝。我會嘗試這些插件之一。 –