2016-07-31 57 views
3

我现在有一个C#控制器的方法AddOne()传递值到C#API

public void AddOne(int num) 
    { 
     using (cnxn) 
     { 
      using (SqlCommand sc = new SqlCommand("INSERT INTO Employees VALUES('this','works'," + num +")", cnxn)) 
      { 
       cnxn.Open(); 
       sc.ExecuteNonQuery(); 
       cnxn.Close(); 
      } 
     } 
    } 

然后我的角码,我有一个控制器EntriesController

var EntriesController = function ($scope, $stateParams, $location, $http) { 
    $scope.Entries = { 
     num: 10 
    }; 

    $scope.addValues = function() { 

     $http.post('Data/addOne', { num }); 
    } 

} 

EntriesController.$inject = ['$scope', '$stateParams', '$location', '$http']; 

我将EntriesControlleraddValues()函数注册到一个视图上的按钮上,该视图不会将插入值发送到我的数据库中,如果我像这样对它们进行硬编码:

AddOne

public void AddOne() 
{ 
    using (cnxn) 
    { 
     using (SqlCommand sc = new SqlCommand("INSERT INTO Employees VALUES('this','works',10)", cnxn)) 
     { 
      cnxn.Open(); 
      sc.ExecuteNonQuery(); 
      cnxn.Close(); 
     } 
    } 
} 

addValues()

$scope.addValues = function() { 

    $http.post('Data/addOne'); 
} 

如何传递从我的角度的post数据到我的C#的控制器?感谢大家!

回答

1

我很傻瓜。我需要通过$scope.Entries$http.post(),然后在我的C#控制器的AddOne()方法中相应地命名参数。 例:在以下的角控制器:

var EntriesController = function ($scope, $stateParams, $location, $http) { 
    $scope.Entries = { 
     firstName: '', 
     lastName: '', 
     num: 12 
    }; 
    $scope.addValues = function() { 
     $http.post('/Data/addOne', $scope.Entries) 

    }; 
} 

我的C#控制器的AddOne()方法来处理post

public void AddOne(string firstName, string lastName, int num) 
{ 
     using (cnxn) 
     { 
      using (SqlCommand sc = new SqlCommand("INSERT INTO TableName VALUES('"+ firstName +"','"+ lastName +"',"+num+")", cnxn)) 
      { 
       cnxn.Open(); 
       sc.ExecuteNonQuery(); 
       cnxn.Close(); 
      } 
     } 
} 

活泉。

0

装饰addone[HttpPost]

[HttpPost] 
public void AddOne() 
{ 
}