如何将 AngularJS 变量值传递给 C# 控制器?

Posted

技术标签:

【中文标题】如何将 AngularJS 变量值传递给 C# 控制器?【英文标题】:How to pass AngularJS variable value to C# controller? 【发布时间】:2019-06-02 21:28:58 【问题描述】:

我想从 AngularController.js 获取 angularjs 值到 CCharpController.cs

我想将 $scope.count1 和 $scope.count2 的值相加

`

$scope.onSubmit = function () 
    for (var i = 0 ; i < $scope.Data.length ; i++) 
        if ($scope.Data[i].1 === true) 
            $scope.count1 += 1;
        
        else if ($scope.Data[i].2 === true) 
            $scope.count2 += 1;
        
    

`

并像这样传递给 CCharp 函数,

`

[Route("api/WarehousePlan/AllowWarehousePlan")]
[HttpPost]
[Authorize]
public IHttpActionResult AllowWarehousePlan([FromBody] WarehouseAllowDenyModel model) 
    ....
    var count = $scope.count1 + $scope.count2 

`

我希望从 angularjs 函数接收计数值。

【问题讨论】:

你需要使用调用你的 api 端点的服务看这里:lullabot.com/articles/processing-forms-in-angularjs 您可能需要以计数值作为参数向 API URL 发出HttpPost 请求,然后您的 C# 控制器将接收它作为参数。 【参考方案1】:

首先声明一个模型

$scope.modelVM = ;

然后按照您在模型类中声明的方式将参数分配给模型

 $scope.modelVM.count1 += 1;
 $scope.modelVM.count2 += 1;

然后通过http发布模型

 $http.post('api/WarehousePlan/AllowWarehousePlan', $scope.modelVM).then(
            function (successResponse) 
                if (successResponse.status == '200') 
                    alert("Data Submit Successfully..");
                
            ,
            function (errorResponse) 
                alert("Not Successful");
            );

【讨论】:

【参考方案2】:

在Controller文件的Cookie中设置值,

 HttpContext.Current.Response.Cookies["count1"].Value = "1";

你可以访问JS文件中的cookie值,

$scope.count1 = $cookies.get("count1");

更新JS文件中的Cookie值,

$cookies.put('count1',2);

【讨论】:

以上是关于如何将 AngularJS 变量值传递给 C# 控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何将变量值“传递”给 JSON 动态对象?

如何使用批处理文件将绑定变量值传递给 SQLplus

如何将过程中的变量值传递给 Apex 中的 Javascript 函数

Django:如何将python变量值传递给javascript文件?

如何将变量值传递给julia中的宏?

如何将变量值传递给套接字字符串