2017-02-25 84 views
0

我正在開發MVC 5應用程序。我有一個Parent視圖,該視圖調用Partial視圖,用戶可以在其中加載圖像。mvc部分視圖onsmit表單從父視圖發送數據

Submit上呼叫.Ajax在父視圖中定義,調用Method/Controller

我需要的是發送給我在父視圖中的控制器數據。那是可能的嗎?

這是我的代碼。

父視圖

enter image description here

管窺

enter image description here

阿賈克斯方法

  $('#formPhoto').submit(function (event) { 
 
       event.preventDefault(); 
 
       if ($(this).valid()) { 
 
        var id="aaa"; 
 
        var formdata = new FormData($(this).get(0)); 
 
        $.ajax({ 
 
         url: this.action, 
 
         type: this.method, 
 
         data:formdata, 
 
         processData: false, 
 
         contentType: false, 
 
         beforeSend: function() { 
 
          return true; 
 
         }, 
 
         success: function (result) { 
 
          successPhoto(); 
 
         }, 
 
         complete: function() { 
 
          // alert(3); 
 
          // And so on. 
 
         } 
 
        }); 
 
       } 
 
       return false; 
 
      }); 
 
     

我需要在data:

回答

1

是有可能發送var aa='aaa'。所以基本上我可以爲你建議兩種方法來做你需要的東西:

第一:你可以考慮把表單元素放在ParentView中,並改變你的代碼有點... 第二:你可以從數據庫中恢復數據父視圖並將它們序列化在一起發送給您的操作。

所以,從第二個選項會是這樣的:

var parentInformation = 'aaa'; 
var formdata = new FormData($(this).get(0)); 
formdata.ExpectedParentOnPropertySide = parentInformation; 

請,我希望這個解決您的問題

+0

謝謝....我如何在控制器中的數據?我從父視圖和部分視圖獲取模型,像這樣ChangePhoto(ModelParentView模型,System.Web.HttpPostedFileBase Image = null)...當然,我會改變我的模型,就像你在1st中說的一樣... – Diego

+0

你可以創建一個在同一班級接收兩種信息。在ModelParentView中,您可以創建一個屬性來接收圖像。爲了更好地理解發生的事情,請檢查您的發佈請求到服務器,並確定發佈到您的服務器的每個屬性,以及它將如何綁定到您的服務器操作參數。 – mfvjunior