ASP.NET MVC 数据传递进阶 从数据库拿到数据后的三种方式

目录

回顾
数据
显示

因为这个小练习有EF的一些东西,我们来回顾一下。

一。回顾

回顾一点EF的知识怎么生成数据库模型。

1.首先我们在Models文件夹右键添加新建项,在数据分栏下有ADO.NET实体数据模型。
在这里插入图片描述
修改完名称后点击添加按钮,选择第一个,来自数据库的EF 设计器,点击下一步
在这里插入图片描述
添加链接,如果不是你的想要的数据库,点击新建连接。
在这里插入图片描述
输入数据库服务器名称,选择你的数据库,点击确定
在这里插入图片描述
会更新你的链接字符串,点击下一步
在这里插入图片描述
选择你想要的表,点击完成,创建成功。
在这里插入图片描述

二。数据

我们先写一个方法,查询一下数据

public  static List<Users> users()
        {
            using (fashionshoppingDBEntities db=new fashionshoppingDBEntities())
            {
                return db.Users.ToList();
            }
        }

三。然后我们来进行数据显示,我们分成3个传递来进行。

1.ViewBag方式

在控制器调用users()方法,以ViewBag属性传到页面

public ActionResult Index()
        {
            ViewBag.users = users();
            return View();
        }

页面实现代码

h1> ViewBag 用户列表</h1>
        <ul>
            @foreach (var item in ViewBag.users)
            {
                <li>姓名:@item.username</li>
            }

        </ul>

效果展示展示
在这里插入图片描述

2.ViewData方式

在控制器调用users()方法,以ViewData属性传到页面

 public ActionResult Index()
        {
            ViewData["users"] = users();
            return View();
        }

页面实现代码

<h1>ViewData 用户列表</h1>
        <ul>
            @foreach (var item in ViewData["users"] as List<MVC_T2_1.Models.Users>) //导入了一个命名空间
            {
                <li>姓名:@item.username</li>
            }

        </ul>

效果展示展示
在这里插入图片描述

2.Model方式

在控制器调用users()方法,直接以View()方法直接传到页面

 public ActionResult Index()
        {
            return View(users());
        }

页面实现代码

<h1>Model 用户列表</h1>
        <ul>
            @foreach (var item in Model)
            {
                <li>姓名:@item.username</li>
            }

        </ul>

效果展示展示
在这里插入图片描述
显示都是一样的,具体就是看怎么传递数据,每个都有自己的特色,按自己需求来选择方式。

posted @ 2020-05-22 10:31  南墙1  阅读(90)  评论(0编辑  收藏  举报