[C#]将从 AngularJS 的 params 传递给 C# 控制器

标签: AngularJS C#
发布时间: 2017/2/24 2:53:45
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我已经试过研究这个,但找不到,什么地方有帮助或任何相关的答案。

我有我角控制器︰

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# 控制器?我知道一个事实,我收到值为他们从我我有的文本框。我也收到成功消息/警报。谢谢你 !

解决方法 1:

数据不是字符串。在 c# 中使对象名称和密码作为属性和有这︰

[HttpPost]
public string PostLogin(Data data) {  

在回应评论编辑︰ 是你需要包含数据是在控制器中的命名空间。你可以试试直接上方的数据对象。

 public class Data
    {
        public string Name { get; set; }
        public string Password { get; set; }
    }

为清楚起见,数据应该不被 stringified,而只是作为发送data: data

赞助商