2015-08-20 2 views
2

Я пытаюсь передать некоторые данные моему контроллеру MVC из AngularJS, но объект Customer всегда имеет значение null для контроллера MVC. Что мне не хватает?Передача объекта из AngularJS в ASP.NET MVC Controller

Угловая

 $scope.new = {}; 

     $scope.AddCustomer = function() { 
     $http.post('/Customer/SaveCustomer', $scope.new).success(function() { 

     }); 
    } 

HTML

<input class="form-control" type="text" placeholder="CustomerID" ng-model="new.c.CustomerID" /> 
    <input class="form-control" type="text" placeholder="CompanyName" ng-model="new.c.CompanyName" /> 
    <button type="button" class="btn btn-primary" ng-click="AddCustomer()">Save</button> 

C#

[HttpPost] 
public void SaveCustomer(Customer customer) 
{ 
    .... 
} 

public class Customer 
{ 
    public string CustomerID { get; set; } 

    public string CompanyName { get; set; } 
} 
+1

Попробуйте new.CustomerID и new.CompanyName ... – ssilas777

+0

@ ssilas777 спасибо ... Это сработало ... Интересно, почему этот учебник я прохожу имеет он помечен как new.c.customerid – Anonymous

+0

Ах, похоже, @ ssilas777 избил меня! – skubski

ответ

3

Обновить ваш HTML, как это:

Изменение new.c.CustomerID в new.CustomerID

<input class="form-control" type="text" placeholder="CustomerID" ng-model="new.CustomerID" /> 
<input class="form-control" type="text" placeholder="CompanyName" ng-model="new.CompanyName" /> 

Теперь это будет работать

$http.post('/Customer/SaveCustomer', $scope.new).success(function() { 

     }); 
0

Ваша модель, кажется,

new = { 
    c : { 
    CustomerID : '', 
    CompanyName : '' 
    } 
} 

Что не соответствует вашему классу Customer. Вы должны обратиться к new.CustomerID и new.CompanyName. Более того, я бы избегал использовать новое ключевое слово в качестве имени переменной.

1

Первый ум верблюд случай в JavaScript Object

$scope.new = { 
 
    customerID: '', 
 
    companyName: '' 
 
}; 
 

 
$scope.AddCustomer = function() { 
 
    $http.post('/Customer/SaveCustomer', $scope.new).success(function() {});
<!--check the changes in ng-model--> 
 
<input class="form-control" type="text" placeholder="CustomerID" ng-model="new.customerID" /> 
 
<input class="form-control" type="text" placeholder="CompanyName" ng-model="new.companyName" /> 
 
<button type="button" class="btn btn-primary" ng-click="AddCustomer()">Save</button> 
 

 

 

 
<!--Best of Luck-->

Смежные вопросы