亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.net Foreach 循環并將數據存儲在 viewbag 中以顯示在視圖中

ASP.net Foreach 循環并將數據存儲在 viewbag 中以顯示在視圖中

C#
慕斯709654 2021-07-15 14:07:53
我做了一個 foreach 循環,循環遍歷來自特定用戶的所有 car_items。我需要計算每個產品的總價(產品價格 * 數量)并將其存儲在查看袋中以顯示在頁面本身上。我不知道如何解決這個問題。這是我編碼的內容(viewbag 被覆蓋,所以最后一行,這就是它將顯示的值): public ActionResult Index()    {        string user_id = User.Identity.GetUserId();        var order_id = db.Orders.Where(x => x.User_Id == user_id).Where(x => x.Paid == 0).Select(x => x.Order_Id).FirstOrDefault();        var select_user_cart = db.Order_details.Where(x => x.Order_Id == order_id);        var quantity_price = from x in db.Order_details                             where x.Order_Id == order_id                             select new { x.Quantity, x.Current_price};        List<decimal> Calc = new List<decimal>();        foreach (var item in quantity_price)        {            var quantity = item.Quantity.ToString();            var double_quantity = Convert.ToDecimal(quantity);            var double_price = Convert.ToDecimal(item.Current_price);            var calc = double_quantity * double_price;            Calc.Add(calc);                       }        ViewBag.Calc = Calc;        var order_details = db.Order_details.Include(o => o.Product).Include(o => o.Order);        return View(select_user_cart.ToList());    }
查看完整描述

3 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

請按照以下步驟獲取 viewbag 列表值。


在 foreach 循環之前定義一個計數器。


根據計數器獲取項目。


增加計數器。


像這樣


@int i=0; //counter

@foreach (var item in Model)

{

   <tr>    

    <td>@ViewBag.Calc[i]</td>  //get item from the list basis of counter.

   @i++; //increase conter value

  </tr> 

}

或者,您可以向模型添加新屬性并在視圖包的位置設置該屬性,并像使用模型的其他屬性一樣使用。


查看完整回答
反對 回復 2021-07-17
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

您可以在模型中使用屬性名稱總計(例如:數量、當前價格)并為其分配總值?;蛘吣梢訴iewBag.Calc用作數組,但我認為如果您確實使用數組,它也可能導致問題。制作一個十進制類型的列表或類似的東西:


List <decimal> total = new <decimal>();

foreach (var item in quantity_price)

{

    var quantity = item.Quantity.ToString();

    var double_quantity = Convert.ToDouble(quantity);

    var double_price = Convert.ToDouble(item.Current_price);


    var calc = double_quantity * double_price;

    total.add(calc)

}


ViewBag["calc"] = total;

鑒于:


@int count=0; 

@foreach (var item in Model)

{


<tr>

    <td>@ViewBag.Calc[count]</td>  

   @count++;

  </tr>


}


查看完整回答
反對 回復 2021-07-17
?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊

假設您想要的是所有商品的總價,您需要為每個商品添加一個變量,然后將總價添加到 viewbag。


    double total = 0;

    foreach (var item in quantity_price)

    {

        var quantity = item.Quantity.ToString();

        var double_quantity = Convert.ToDouble(quantity);

        var double_price = Convert.ToDouble(item.Current_price);


        var calc = double_quantity * double_price;

        total += calc;

    }

    ViewBag.Calc = total;


查看完整回答
反對 回復 2021-07-17
  • 3 回答
  • 0 關注
  • 571 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號