2016-07-31 53 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() 
{ 
}