2016-06-23 4 views
0

JSONをWeb APIに送信するために柱状のメソッドを使用しています。 コンソールウィンドウでは、$ scope.schoolに詳細が設定されていますが、Web APIでは 'fileSet'オブジェクト値が取得されません。どのように角度jsの配列のリストを渡すことができますか?

私の角度のコードは次のとおりです。 - 角度での私のAPIを呼び出すコードなど

 $scope.school = { 
      'class': '94E38941-5A97-4A9B-B82A-8D53C9DBEE96', 
      'inputInstanceId': 'CBBCD28D-F144-45E2-A494-C767549BD3AF', 
      'inboxType': '8', 
      'schoolTitle': $scope.value1, 
      'schoolDescription': $scope.value2, 
      'schoolContext': $scope.ContextListL1["Value"], 
      'schoolGuid ': $cookieStore.get('objschoolid'), 
      'fileSet': { 
       'fName': fileName, 
       'fileUploadId': fileId 
      } 
     } 

どこ

Restangular.one(routeString).post('', $scope.school, params, headers).then(function (resp) 

マイAPIクラスは、私が仮定するつもりです

public class CreateClassDTO 
{ 
    public Guid class { get; set; } 
    public Guid inputInstanceId { get; set; } 
    public int inboxType { get; set; } 
    public string schoolTitle { get; set; } 
    public string schoolDescription { get; set; } 
    public string schoolContext { get; set; } 
    public Guid schoolGuid { get; set; } 
    public List<FileuploadResult> fileSet { get; set; } 

} 

public class FileuploadResult 
{ 
    public string fName { get; set; } 
    public Guid fileUploadId { get; set; } 
} 

答えて

2

ですfileSetは、単一のオブジェクトではなくオブジェクトの配列でなければなりません:

'fileSet': [ 
    { 
     'fName': fileName, 
     'fileUploadId': fileId 
    } 
] 
+0

はい、正確にあなたが私のクラス構造で見ることができるようにそれがリストでありますオブジェクト – Sagar

+0

いいえ、それは私のために働いていない、まだ私のAPIで私は両方のオブジェクト 'のfName'と ' fileUploadId ' – Sagar

0

ファイルセット

'fileSet': { 
    'fName': fileName, 
    'fileUploadId': fileId 
} 

すなわち、fileNameとFILEIDに2つの変数を参照しています。これらの変数は定義されていますか?

+0

はい、定義されています。 – Sagar

+0

あなたがネットワーク転送を見ると、 Firebug経由で、fNameおよびfileUploadIdのデータ送信値が含まれていますか? JavaScript側またはWEB側のAPIのエラー – Thorsten

+0

には、すでにこれらの変数が宣言されています。問題は、リストのデータだけがapiへの矩形呼び出しから移動していないことです。 (パブリックList fileSet {get; set;})。私はコンソール上のデータを見ることができますが、私はAPIでデバッグするとき、それはnullを表示します。 – Sagar

0

オブジェクトの内部でオブジェクトを実行できます。この例のようにMVC

public class Userplusresponse 
{ 
    public User user { get; set; } 
    public string response { get; set; } 
} 



public class User 
    { 
    public string username{get; set;} 
    public string firstName { get; set; } 
    public string LastName { get; set; } 
    public string password { get; set; } 
    public string con_password { get; set; }  
    public int phoneNumber { get; set; } 
    } 

と角やAjaxのポスト

$scope.User = {}; //**Add more values 
var dataplusresponse = {} 
       dataplusresponse.user = User; 
       dataplusresponse.response = response; 

$http({ 
        method: 'POST', 
        url: '@Url.Action("Register", "Account")', 
        data: dataplusresponse, //forms user object 
        headers: { 'Content-Type': "application/json" } 
       }) 
      .success(function (data) { 

       console.log(data); 
} 

とコントローラ

[HttpPost] 
     public ActionResult Register(Userplusresponse UR) 
     { 
      var captchaResponse = UR.response; //this is object of response 

      var UserData = UR.user; //this is object of $scope.user 
//You can get child object from UserData 
関連する問題