我想从angularJs控制器传递对象参数到Web Api 2获取方法控制器。AngularJS传递参数到Web Api获取
如果我传递对象像字符串它将工作,但我不喜欢这个解决方案。
[HttpGet]
public IEnumerable<SearchVenueByParameters_Result> Get(string parameter)
{
ObjSearch obj_search = new JavaScriptSerializer().Deserialize<ObjSearch>(parameter);
我想试试这个:
[HttpGet]
public IEnumerable<SearchVenueByParameters_Result> Get(ObjSearch obj_search)
ObjSearch类:
public class ObjSearch {
public string aAMSID { get; set; }
public string venueName { get; set; }
public string address { get; set; }
public byte? businessSK { get; set; }
public string subjectAamsCode { get; set; }
public string subjectDenomination { get; set; }
public string subjectVatNumber { get; set; }
public string subjectTaxCode { get; set; } }
而且在angularjs控制器我有:
$scope.objSearch = {
"aAMSID": "",
"venueName": "",
"address": "",
"businessSK": "",
"subjectAamsCode": "",
"subjectDenomination": "",
"subjectVatNumber": "",
"subjectTaxCode": ""
}
$scope.searchVenueByParameters = function() {
var strObjSearch = angular.toJson($scope.objSearch);
console.log(strObjSearch);
$http({
url: '/api/SearchVenueByParameters_Result/',
method: 'GET',
params: { obj_search: strObjSearch }
}).success(function (data) {
$scope.Venues = data;
$scope.VenueList = true;
$scope.showItem = true;
})
.error(function() {
$scope.error = "An Error has occured while loading posts!";
});
}
但在这种情况下,我已更正值打印ed在控制台从angularjs控制器,但传递在网络abi控制器的对象始终为空。
我也可以使用FromBody吗?因为它不起作用 –
@FrancescoGaleota GET请求是设计没有一个正文。所以[FromBody]不适用于GET。 –