首页 > 解决方案 > 如何计算产品的总和

问题描述

我有一个操作 ViewModel,它显示了按 ProductName 分组的全部产品。但这并没有告诉我每个部门有多少人。

假设我在 IT 部门有 20 台计算机,在管理部门有 10 台计算机,那么我的代码显示我的产品名称是“计算机”。并且 Totaly withch 是 30 但不是多少在它部门和管理相同。

服务器或其他产品也是如此。

所以我正在尝试使用此操作来获取每个部门的产品数量。我知道已经有部门 ID 和那些部门没有动态填充。

// 这是在我的 HomeController 中,这是我试图获取每个部门的总和的操作

[HttpGet]
public ActionResult GetStatusOfDepartments(int ProductId, int departmentId )
{
    var products = context.Inventory.Where(x => x.ProductId == ProductId && x.departmentId == departmentId).FirstOrDefault();
    if(products != null)
    {
        return Content(products.Status.ToString());
    }
    else
    {
        return Content("No products");
    }
}

我想在这个 ViewModel 中调用“GetStatusOfDepartments”操作,但这给了我空值。你能帮我在这个 ViewModel 中调用动作有什么问题吗?

@model IEnumerable<ProductsInventory.Models.StatusModel>
<table class="table">
    <tr>

        <th>
            Produkt name

        </th>
        <th>
           It-Department

        </th>
        <th>
            Adminstration
        </th>

        <th>
            TotalProducts 

        </th>


    </tr>

    @foreach (var item in Model)
    {
    <tr>

        <td>
            @Html.DisplayFor(modelItem => item.ProductName)
       </td>
        <td>
          // Here I want to call like this
           @Html.Action("GetStatusOfDepartments", "Home", new { ProductId = item.ProductId, departmentId = 1 })
        </td>

        <td>
          // The same Here I want to call like this
           @Html.Action("GetStatusOfDepartments", "Home", new { ProductId = item.ProductId, departmentId = 2 })
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Status)
        </td>


    </tr>
    }

</table>

标签: c#asp.netasp.net-mvc

解决方案


在@Html.Action 中,第一个参数应该是动作名称,第二个参数应该是控制器名称。您需要更改代码以匹配它。


推荐阅读