如何将多个值从Asp.Net WebApi发送到Angularjs控制器?

穆罕默德·奥米尔(Muhammad Omair)

WebApi控制器..如何将此值发送到Angularjs控制器(bill = q.TotalBill;)?我已经将这个(返回Ok(gridlist);)发送到JSON形式到angularjs控制器中

public static double bill;  // this is static variable on top of a class
     [System.Web.Http.Route("api/Products/gridpro/{id}")]


           public IHttpActionResult GetGrid(int id)
            {

                var q = db.products.Find(id);
                if (q != null)
                {
                    var check = gridlist.Where(x => x.Id == id).FirstOrDefault();
                    if (check != null)
                    {
                        check.ProductQty += 1;
                        check.TotalAmount = check.ProductQty * check.ProductRate;
                    }
                    else
                    {
                        q.ProductQty = 1;
                        q.TotalAmount = q.ProductQty * q.ProductRate;

                        gridlist.Add(q);
                    }
                    q.TotalBill = gridlist.Sum(x => x.TotalAmount);
                    foreach (var item in gridlist)
                    {
                        item.TotalBill = q.TotalBill;
                    }
                    bill = q.TotalBill;   //How to send this value to Angularjs controller

                    return Ok(gridlist);
                }
                else
                {
                    return NotFound();
                }
            }

Anagularjs代码:使用此代码($ scope.gridproducts),我将所有数据都输入到HTML中,但我想将这个单一值显示(HTML = q.TotalBill;)。

$scope.OnProChange = function (Pro) {
            var id = Pro.Id;
            $http.get("/api/Products/gridpro/" + id).then(function (response) {
                console.log(JSON.stringify(response.data))
                $scope.gridproducts = response.data;
            })
        }

HTML代码:我如何使用{{gridproducts.TotalBill}}来显示总账单价值,但没有任何效果。

<tbody>
    <tr ng-repeat="item in gridproducts">
        <td>
            <a class="delete"><i class="fa fa-times-circle-o"></i></a>
        </td>
        <td class="name">{{item.ProductName}}</td>
        <td>{{item.ProductRate}}</td>
        <td>
            <input class="form-control qty" style="width:50px" onchange="UpdatePurchaseItem('36',this.value)" value="{{item.ProductQty}}">
        </td>
        <td>{{item.TotalAmount}}</td>
    </tr>
    <tr></tr>
    <tfoot>
        <tr>
            <th colspan="2"></th>
            <th colspan="2"><b>Total</b></th>
            <th><b>{{gridproducts.TotalBill}}</b></th>
        </tr>
        <tr>
            <th colspan="2"><b></b></th>
            <th colspan="2"><b>Total Items</b></th>
            <th><b>25</b></th>
        </tr>
    </tfoot>
</tbody>
穆罕默德·埃敏·雅尔辛

如果要将多个值发送到angularjs,则可以为此创建复杂类型。例如,在C#代码中

Public Class GridDataModel<T>
{
    public T ItemList{get;set;}

    public int TotalBill{get;set}

}

然后当您将数据返回给js

var gridData=new GridDataModel<products>()
{
    ItemList=gridlist,
    TotalBill=q.TotalBill

}

return Ok(gridData);

完成此操作后,您可以为js范围创建另一个属性

 $http.get("/api/Products/gridpro/" + id).then(function (response) {
                console.log(JSON.stringify(response.data))
                $scope.gridproducts = response.data.ItemList;
                $scope.totalBill = response.data.TotalBill;
            })

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 Axios 将多个文件发送到 ASP.NET Core 的控制器?

将数据和文件从 MVC 控制器(NET Framework 4.6.1)发送到 WebAPI 控制器(NET Core 3.0)

AngularJS $ http.post()将null发送到ASP.NET Web API控制器方法

Asp.net无法将值从选择发送到控制器中的http帖子

将 JSON 从视图发送到控制器 ASP.NET MVC 给出空值

如何使用axios.put将JSON发送到ASP.NET控制器

如何通过ActionLink将项目发送到ASP.NET MVC控制器?

如何将包含excel文件的表单数据发送到asp.net core中的控制器

将多个 JSON 记录发送到 .NET 控制器

将修改后的表发送到ASP.NET MVC中的控制器?

将 JSON 字符串发送到 ASP.NET Core MVC 控制器

将View的base64图像发送到ASP.NET控制器

ASP.NET MVC 将 List<Foo> 集合从我的视图发送到控制器

无法使用 Jquery 将数据从视图发送到控制器 Asp.net MVC

将Javascript数组发送到控制器ASP.NET MVC

使用 Ajax 将按钮值发送到 .net 核心中的控制器

无法使用js将文件值发送到asp.net mvc中的控制器

无法将数据从视图发送到控制器操作 .NET MVC

如何使用下拉列表将数据从视图发送到控制器 asp.net core 5 MVC

如何在ASP.NET Core中使用Ajax将表单发送到控制器?

如何从控制器将所有用户列表发送到asp.net Core 3中的视图

ASP.NET MVC:从视图导航时,如何将客户端浏览器上的DOM Body元素的ID发送到控制器

angularJS将参数从模板发送到控制器

将数据从jQuery发送到AngularJS的控制器

我想将JavaScript中的数据和文件发送到控制器(但如何发送)(MVC ASP.NET)

如何将两个数组作为 POST 请求参数从 AJAX 发送到 MVC 控制器(ASP .NET Core 3.1 razor)?

在 ASP.NET MVC 中执行控制器后如何将数据发送到操作过滤器?

如何将值从视图控件发送到angularjs控制器..?

数据表Ajax数据:将Json数组发送到ASP.NET控制器