C# 将参数从AngularJS传递到C控制器
我已经尝试过研究这个问题,但我在任何地方都找不到任何有用的或相关的答案 对于我的角度控制器,我有:C# 将参数从AngularJS传递到C控制器,c#,angularjs,C#,Angularjs,我已经尝试过研究这个问题,但我在任何地方都找不到任何有用的或相关的答案 对于我的角度控制器,我有: app.controller('AdminCtrl', function ($scope, $http) { $scope.data = { Name: '', Password: '' }, $scope.login = function (data) { $http({ method: 'POST', url: '/login/postl
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控制器,我有一个非常基本的设置:
[HttpPost]
public string PostLogin(string data) {
return string.Empty;
}
我的问题是在c控制器内部,数据总是空的。有人知道如何将名称和密码参数传递给c控制器吗?我知道我正在从我的文本框中接收它们的值。我也收到了成功消息/警告。谢谢 数据不是字符串。在c中,使用名称和密码作为属性创建一个对象,并具有以下特性:
[HttpPost]
public string PostLogin(Data data) {
根据评论进行编辑:
是的,您需要在控制器中包含数据所在的命名空间。您可以尝试将数据对象直接放在上面
public class Data
{
public string Name { get; set; }
public string Password { get; set; }
}
为清楚起见,数据不应字符串化,而应作为数据发送:数据不是字符串。在c中,使用名称和密码作为属性创建一个对象,并具有以下特性:
[HttpPost]
public string PostLogin(Data data) {
根据评论进行编辑:
是的,您需要在控制器中包含数据所在的命名空间。您可以尝试将数据对象直接放在上面
public class Data
{
public string Name { get; set; }
public string Password { get; set; }
}
为清楚起见,数据不应字符串化,而应作为数据发送:数据只需直接发送$scope.data,不要字符串化它。然后修改PostLogin方法,使其接受两个字符串,一个名为Name,一个名为Password。只需直接发送$scope.data,不要将其字符串化。然后修改PostLogin方法,使其接受两个字符串,一个名为Name,另一个名为Password。可能重复的。这里还有更多的答案。使用搜索功能。看起来你是在阅读jQuery ajax文档来使用$http,而不是在阅读angular文档。对于投票关闭的人来说,它太宽了,不是这样。@Nasreddine我在这里发布之前查看了该文档,但它并没有真正帮助我做什么。在查看了发布的答案和其他问题后,我离我要完成的目标越来越近了。$scope.data不是字符串。可能是的重复项。这里还有更多的答案。使用搜索功能。看起来你是在阅读jQuery ajax文档来使用$http,而不是在阅读angular文档。对于投票关闭的人来说,它太宽了,不是这样。@Nasreddine我在这里发布之前查看了该文档,但它并没有真正帮助我做什么。在查看了发布的答案和其他问题后,我离我试图完成的目标越来越近了。$scope.data不是字符串。我试图使用数据,但它一直告诉我无法找到数据。是否有我缺少的名称空间?我已经成功地将它与HaudurHaf发布的解决方案一起使用,但我希望将其作为对象传递,因为这里可能会传递几个参数。当我使用通用对象数据时,什么都不会通过。很高兴你让它工作,但是传递对象是个好主意。希望编辑能有所帮助。你不会想把它串起来的-将编辑答案,以使这一点在一点清楚。谢谢编辑!这非常有效。我感谢你的帮助!如果可以,我会给你一个+1。谢谢。我已经投票赞成你的问题;有人很卑鄙,在我之前就否决了。我正在尝试使用数据,但它一直告诉我数据找不到。是否有我缺少的名称空间?我已经成功地将它与HaudurHaf发布的解决方案一起使用,但我希望将其作为对象传递,因为这里可能会传递几个参数。当我使用通用对象数据时,什么都不会通过。很高兴你让它工作,但是传递对象是个好主意。希望编辑能有所帮助。你不会想把它串起来的-将编辑答案,以使这一点在一点清楚。谢谢编辑!这非常有效。我感谢你的帮助!如果可以,我会给你一个+1。谢谢。我已经投票赞成你的问题;有人很卑鄙,在我之前就投了反对票。