2017-02-25 2 views
0

Je développe MVC 5 App. J'ai un Parent Vue qui appelle un Partial Voir, où l'utilisateur peut charger une image.mvc vue partielle sous-formulaire sous-envoyer envoyer des données de la vue parent

Le Submit appelez un .Ajax défini dans la vue parent qui appelle Method/Controller.

Ce dont j'ai besoin, c'est d'envoyer au contrôleur les données que j'ai en vue parent. Est-ce que c'est posible?

Voici mon code.

Parent Voir

enter image description here

Vue partielle

enter image description here

.ajax Méthode

  $('#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; 
 
      }); 
 
     

je dois envoyer var aa='aaa' dans data:

Répondre

1

Oui, il est possible. Donc, fondamentalement, je peux vous suggérer deux façons de faire ce dont vous avez besoin:

1er: Vous pourriez envisager de mettre l'élément de formulaire dans ParentView et de changer un peu votre code ... 2ème: Vous pourriez récupérer les données de la vue parent et sérialiser ensemble pour envoyer à votre action.

Ainsi, à partir de la seconde option, il serait quelque chose comme:

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

S'il vous plaît, j'espère résoudre votre problème

+0

Merci .... Comment puis-je obtenir les données du contrôleur? Je reçois le modèle de la vue parentale et l'image de la vue partielle comme ce ChangePhoto (ModelParentView modèle, System.Web.HttpPostedFileBase Image = null) ... Sûrement je changerais mon modèle comme vous le dites dans le 1er ... – Diego

+0

Vous pourriez créer un classe pour recevoir les deux informations dans une seule classe. À l'intérieur de ModelParentView, vous pouvez créer une propriété qui recevra l'image. Pour mieux comprendre ce qui se passe, vérifiez votre demande de publication sur le serveur et identifiez chaque propriété postée sur votre serveur et comment elle sera liée à votre paramètre d'action serveur. – mfvjunior