我已尝试对此进行研究,但找不到任何有用的信息或任何相关答案。
对于我的 Angular Controller ,我有:
app.controller('AdminCtrl', function ($scope, $http) {
$scope.data = {
Name: '',
Password: ''
},
$scope.login = function (data) {
$http({
method: 'POST',
url: '/login/postlogin',
data: JSON.stringify({
data: $scope.data
}),
contentType: "application/json",
dataType: "json"
}).success(function (data) {
alert('success!');
}).error(function (error) {
alert(error.message);
})
}
});
对于我的 C# Controller ,我有一个非常基本的设置:
[HttpPost]
public string PostLogin(string data) {
return string.Empty;
}
我的问题是,在 C# Controller 内部,数据始终为空。有谁知道如何将名称和密码参数传递给 c# Controller ?我知道我正在从我的文本框中为它们接收值。我也收到了成功消息/警报。谢谢!
请您参考如下方法:
数据不是字符串。在 c# 中,创建一个以名称和密码作为属性的对象,并具有以下内容:
[HttpPost]
public string PostLogin(Data data) {
编辑回应评论: 是的,您需要在 Controller 中包含 Data 所在的命名空间。您可以尝试将 Data 对象直接放在上面。
public class Data
{
public string Name { get; set; }
public string Password { get; set; }
}
为清楚起见,数据不应被字符串化,而应作为 data: data
