Skip to main content
 首页 » 编程设计

c#之将参数从 AngularJS 传递到 C# Controller

2024年02月06日25shanyou

我已尝试对此进行研究,但找不到任何有用的信息或任何相关答案。

对于我的 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

发送