【发布时间】:2016-04-01 05:50:25
【问题描述】:
我正在尝试将数据从我的网页发布到我的 RegistrationController Api。我在提交表单时看到了它,但是当我在 WebApi 上命中断点时,参数“pilot”为空。有人能告诉我我需要做什么才能将数据从网页传递到 Registration ApiController 吗?
我看到了这个post,但它似乎对我不起作用。这个post,接近我的问题,提到模型需要注释,但仍然不适合我。
cshtml页面上的按钮:
<button id="submitRegistration" class="btn btn-lg btn-primary btn-block"
type="submit">Submit</button>
角度注册控制器:
<script type="text/javascript">
'use strict';
var sampleApp = angular.module('RegistrationApp', []);
sampleApp.controller('RegistrationController', function ($scope, $http) {
var registrationData = {
"firstname": $scope.firstname,
"lastname": $scope.lastname,
"faaNumber": $scope.faaNumber
};
$('#submitRegistration').click(function () {
registrationData = {
FirstName: $scope.firstname,
LastName: $scope.lastname,
FAANumber: $scope.faaNumber
};
// When I hit this debugger, the data is good.
debugger;
$.post("api/registration",
JSON.stringify(registrationData),
function (value) {
$('#registrationMessage').append(value);
},
"json"
);
});
});
</script>
WebApi RegistrationController 类:
public class RegistrationController : ApiController
{
// *********** Pilot is null when the breakpoint hits here ************
public HttpResponseMessage Post([FromBody]PilotModel pilot)
{
this.RegisterPilot(pilot);
var response = Request.CreateResponse<PilotModel>(HttpStatusCode.Created, pilot);
return response;
}
private string RegisterPilot(PilotModel pilot)
{
var result = string.Empty;
...
return result;
}
}
试点模型:
[DataContract]
public class PilotModel
{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
[DataMember]
public string FAANumber { get; set; }
}
【问题讨论】:
标签: c# angularjs json asp.net-web-api