2014-04-03 40 views
0

我有,它返回我一些值的數組,這樣下方AngularJS指令:AngularJS對象未正確地轉換成一個ViewModel .NET

enter image description here

我使用生成的AngularJS代碼像上面這個對象是:

//-------------------------- 
// service... 

service.getSelectedOptions = function() { 
    var options = []; 
    for (var I = 0; I < service.optionList.length; ++I) { 
     var availableOption = service.optionList[I]; 

     if (availableOption.selecionado !== '') { 
      options.push(availableOption); 
     } 
    } 
    return opcoes; 
}; 

//-------------------------- 
// controller... 
var options = []; 
var list = OptionsService.getSelectedOptions(); 
for (var I = 0; I < list.length; ++I) { 
    var option = list[I]; 
    options.push({ Handle: option.Handle, Selecionado: option.Selecionado }); 
} 
console.log(options); 

// Sending the values to backend... 
doPost('..../SaveOptions', { options: options }, function (result) { }); 

好吧,我創建了一個ViewModel類來接收這些對象到我的控制器。

public class OptionsViewModel { 
    public int Handle { get; set; } 
    public string Selecionado { get; set; } 
} 

我控制器聲明如下所示:

public JsonResult SaveOptions(OptionsViewModel[] options) { 
    //... 
} 

的問題是:如果我選擇了4個選項,在後端陣列有4個選項,但該值不綁定的對象。

enter image description here

爲什麼?有人知道爲什麼謝謝!!

+0

你可以發佈'OptionsService.getSelectedOptions();' – tymeJV

+0

@tymeJV的方法代碼被添加。 – Kiwanax

+0

該服務中是否有任何數據調用到後端? – tymeJV

回答

1

的解決方案是修改兩個參數在AJAX調用:

  1. contentType: "application/json";
  2. 使用參數JSON.stringify(parameters)

謝謝!

相關問題