2017-02-05 10 views
-1

異なるタイプ(モデル、配列、文​​字列、int)のパラメータを持つコントローラがあります このようなものです。AJAXを使用して複数のパラメータをmvcコントローラに渡す方法

public JsonResult UpdateDemandeur(Demandeurs ddeur, Photos vImg, Array vRev, Array vLangAut, int vLangMater) 

私はAJAX呼び出しを通して私のデータを投稿したいと私は、この種のものを使用:

   var json = JSON.stringify({ 
 
        'ddeur': { 
 
         ID_Ville: xIDVille, 
 
         ID_Province: xIDProv, 
 
         CodePostal_Demandeur: xCPDdeur, 
 
         Tel1_Demandeur: xTel1Ddeur, 
 
         Tel2_Demandeur: xTel2Ddeur, 
 
         Tel3_Demandeur: xTel3Ddeur, 
 
         Courriel1_Demandeur: xCour1Ddeur, 
 
         Courriel2_Demandeur: xCour2Ddeur, 
 
         Courriel3_Demandeur: xCour3Ddeur, 
 
         Code_Conseiller: xCodeCons, 
 
         ID_SituationMatrimoniale: xIDSitMat, 
 
         ID_Sexe: xIDSexe, 
 
         Date_Naissance_Demandeur: xDteNais, 
 
         ID_TranchesRevenu: xRevDdeur, 
 
         ID_Occupation: xIDOcc, 
 
         ID_Scolarite: xIDScol, 
 
         ID_StatutLegal: xIDStatLegal, 
 
         ID_Communaute: xIDComm, 
 
         ID_SourceInformation: xIDSceInfo, 
 
         Handicape: xHandicape, 
 
         Reference: xRef, 
 
         Remarques_Demandeur: xRemDdeur, 
 
         Date_Cloture_Dossier: xDtClotureDos, 
 
         Actif_Inactif: xInActif, 
 
         Dte_Saisie: xDteSaisie, 
 
         UserId: xUsrID 
 

 
        }, 
 
        'vImg': { 
 
         Nom_Table: 'Demandeurs', 
 
         Photo: resp 
 
        } 
 
        ... 
 
       }); 
 

 
       $.ajax({ 
 
        type: "POST", 
 
        url: "../Conseiller/UpdateDemandeur", 
 
        data: json, 
 
        dataType: "json", 
 
        ...
あなたがコントローラで、スクリーンショットに私の変数を見ることができるように

私はいくつかのことを試しましたが、それ以来頭痛がありました。

enter image description here

+0

contentType: 'contentType:application/json、'オプションを設定していません(関連性はありませんが、 'url: '@ Url.Action(" UpdateDemandeur "、" Conseiller ")'、'正しいurlを生成するのに常に 'Url.Action()'を使用してください) –

+0

あなたは問題を解決した前の質問の回答を受け入れることを検討したいかもしれません。 –

答えて

0

それを文字列化する必要はありません...ちょうどそのようなオブジェクトの配列を渡す:

var json = [ 
       { 
        ID_Ville: xIDVille, 
        ID_Province: xIDProv, 
        CodePostal_Demandeur: xCPDdeur, 
        Tel1_Demandeur: xTel1Ddeur, 
        Tel2_Demandeur: xTel2Ddeur, 
        Tel3_Demandeur: xTel3Ddeur, 
        Courriel1_Demandeur: xCour1Ddeur, 
        Courriel2_Demandeur: xCour2Ddeur, 
        Courriel3_Demandeur: xCour3Ddeur, 
        Code_Conseiller: xCodeCons, 
        ID_SituationMatrimoniale: xIDSitMat, 
        ID_Sexe: xIDSexe, 
        Date_Naissance_Demandeur: xDteNais, 
        ID_TranchesRevenu: xRevDdeur, 
        ID_Occupation: xIDOcc, 
        ID_Scolarite: xIDScol, 
        ID_StatutLegal: xIDStatLegal, 
        ID_Communaute: xIDComm, 
        ID_SourceInformation: xIDSceInfo, 
        Handicape: xHandicape, 
        Reference: xRef, 
        Remarques_Demandeur: xRemDdeur, 
        Date_Cloture_Dossier: xDtClotureDos, 
        Actif_Inactif: xInActif, 
        Dte_Saisie: xDteSaisie, 
        UserId: xUsrID 

       }, 
       { 
        Nom_Table: 'Demandeurs', 
        Photo: resp 
       } 
       ... 
      ]; 

      $.ajax({ 
       type: "POST", 
       url: "../Conseiller/UpdateDemandeur", 
       data: json, 
       dataType: "json", 
       ... 
+0

また、C#側のオブジェクトのクラス定義を投稿していないので、メンバーはすべて一致しているとみなしました。それは重要です。 – Jay

+0

こんにちはジェイ、 ちょうどそうでしたが、それでも同じ結果が得られます。 私のコントローラのパラメータは記入されていません – Patrice

+0

私はモデルをチェックしますが、私はそれ自体で各パラメータを試したので、私は疑いがあります。 – Patrice

0

私はパスでことができる唯一の方法は、データ部にすべての私のパラメータを定義することでしたAJAXコールのこのよう :私のパラメータタイプの

$.ajax({ 
 
        type: "POST", 
 
        url: "../Conseiller/UpdateDemandeur", 
 
        data: { 
 
         Adresse_Demandeur: xAddDdeur, 
 
         ID_Ville: xIDVille, 
 
         ID_Province: xIDProv, 
 
         CodePostal_Demandeur: xCPDdeur, 
 
         Tel1_Demandeur: xTel1Ddeur, 
 
         Tel2_Demandeur: xTel2Ddeur, 
 
         Tel3_Demandeur: xTel3Ddeur, 
 
         Courriel1_Demandeur: xCour1Ddeur, 
 
         Courriel2_Demandeur: xCour2Ddeur, 
 
         Courriel3_Demandeur: xCour3Ddeur, 
 
         Code_Conseiller: xCodeCons, 
 
         ID_SituationMatrimoniale: xIDSitMat, 
 
         ID_Sexe: xIDSexe, 
 
         Date_Naissance_Demandeur: xDteNais, 
 
         ID_TranchesRevenu: xRevDdeur, 
 
         ID_Occupation: xIDOcc, 
 
         ID_Scolarite: xIDScol, 
 
         ID_StatutLegal: xIDStatLegal, 
 
         ID_Communaute: xIDComm, 
 
         ID_SourceInformation: xIDSceInfo, 
 
         Handicape: xHandicape, 
 
         Reference: xRef, 
 
         Remarques_Demandeur: xRemDdeur, 
 
         Date_Cloture_Dossier: xDtClotureDos, 
 
         Actif_Inactif: xInActif, 
 
         Dte_Saisie: xDteSaisie, 
 
         UserId: xUsrID, 
 

 
         Nom_Table: xTable, //(varchar(50), not null) 
 
         Photo: null, //(varbinary(max)2147483647) 
 
         Nom_Fichier_Photo: resp, //(varchar(max), null) 
 
         Remarques_Photo: null, //(varchar(max), null) 
 

 
        }, 
 
        dataType: "json",...

すべては、このように正確に評価しました。 私はこれがコーディングではないことを知っています(これで、間もなくボトルネックに間違いなく遭遇するはずです)。もし誰かがこれを整理することができれば、楽しいでしょう。

関連する問題