ViewData對於從后台傳list到前台的使用


一、目標

在C# MVC開發模式下了解ViewData怎么講一個List<Model>傳到前台,並且前台怎么循環讀取出數據

二、平台

vs2019, MVC模式

三、重要部分控制器代碼展示

 #region 5.PC詳情頁
        public ActionResult PcDetail()
        {
            string pcUID = Request["id"].Trim();
            if (pcUID!=null || pcUID !="")
            {
                //PC詳情數據
                PcBLL pcbll = new PcBLL();
                PcModel pm = new PcModel();
                pm = pcbll.getPcByUID(pcUID);
                //PC配件<CPU>數據
                List<PcPart> pp = new List<PcPart>();
                pp= pcbll.getPcPartByPcID_class(pcUID);
                ViewData["pcPart"] = pp;
                return View(pm);
            }
            return Content("沒有這樣的數據");
        }
#endregion

四、前端視圖寫法

@{
                    var pcParts = ViewData["pcPart"] as List<PcPart>;
                    if (pcParts != null && pcParts.Any())
                    {
                        foreach (var item in pcParts)
                        {
                            <tr>
                                <td>@item.pcPartClass</td>
                                <td>@item.brand</td>
                                <td>@item.xModel</td>
                                <td>@item.specification</td>
                                <td>@item.price</td>
                                <td>@item.repairStart</td>
                                <td>@item.repairEnd</td>
                                <td>@item.editTime</td>
                                <td>@item.createTime</td>
                                <td>@item.Note</td>
                            </tr>
                        }
                    }
                }

五、代碼解析:

視圖中先引用@using 引用實體類(僅引用實體類即可,無需引用具體對象名)

視圖中html要展示數據區域寫上@{},然后將控制台定義的ViewData轉換成List<Model>以便循環。

如例子中:var pcParts = ViewData["pcPart"] as List<PcPart>;   就是將接收到的viewdata轉換成一個listModel,便於我們用foreach循環。

摘抄自:https://blog.csdn.net/xoofly/article/details/94454952


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM