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

上一篇:ASP.NET Core MVC入门——2


下一篇:ASP.NET MVC 让@Html.DropDownList显示默认值