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>
效果展示展示

显示都是一样的,具体就是看怎么传递数据,每个都有自己的特色,按自己需求来选择方式。
ASP.NET MVC 数据传递进阶 从数据库拿到数据后的三种方式的更多相关文章
- Activiti进阶(二)——部署流程资源的三种方式
转自:http://blog.csdn.net/zjx86320/article/details/50234707 流程资源可以是各种类型的文件,在启动流程或流程实例运行过程中会被读取.下面介绍常用的 ...
- 四十:数据库之SQLAlchemy实现排序的三种方式
SQLAlchemy实现排序有三种方式一:order_by:查询的时候使用此方式根据某个字段或模型下的属性进行排序二:模型定义的时候,指定排序方式三:一对多的时候,relationship的order ...
- ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则
ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...
- 在ASP.NET MVC控制器中获取链接中的路由数据
在ASP.NET MVC中,在链接中附加路由数据有2种方式.一种是把路由数据放在匿名对象中传递: <a href="@Url.Action("GetRouteData&quo ...
- ASP.NET MVC中使用Unity进行依赖注入的三种方式
在ASP.NET MVC中使用Unity进行依赖注入的三种方式 2013-12-15 21:07 by 小白哥哥, 146 阅读, 0 评论, 收藏, 编辑 在ASP.NET MVC4中,为了在解开C ...
- android sqlite使用之模糊查询数据库数据的三种方式
android应用开发中常常需要记录一下数据,而在查询的时候如何实现模糊查询呢?很少有文章来做这样的介绍,所以这里简单的介绍下三种sqlite的模糊查询方式,直接上代码把: package com.e ...
- [转]Asp.net Mvc2中重构View的三种方式
本文转自:http://www.cnblogs.com/zhuqil/archive/2010/07/14/asp-net-mvc2-view-refactoring.html 我们在Asp.net ...
- Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式
Linux就这个范儿 第15章 七种武器 linux 同步IO: sync.fsync与fdatasync Linux中的内存大页面huge page/large page David Cut ...
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
js replace 全局替换 js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...
随机推荐
- redis文章汇总
方便集群管理时的查看操作 http://www.cnblogs.com/mushroom/p/4738170.html http://www.cnblogs.com/hjwublog/p/568170 ...
- CSS理论:margin-left在float中的运用
源码如下: margin-left 指的是左边的外边距,为正数时,左边间距增大,div向右偏移,为负数时,左边间距减少,相反往左偏移 双飞翼 .wrap { width: 100%; margin: ...
- Elasticsearchdump 数据导入/导出
一.安装过程 Elasticsearchdump 仓库地址,详细使用情况 当前工具主要是用来对ES中的数据进行数据导入/导出,以及对数据迁移相关,使用elasticdump工具需要使用到npm,所以需 ...
- 以前的一些word的整理
LAMP部署 环境:虚拟机centos7 安装apache: 命令:yum install -y httpd (在执行这个命令时,可能会遇到运行yum时出现/var/run/yun.pid已被锁定,P ...
- java ->IO流_字节流
字节流 在前面的学习过程中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据.现在我们就要开始给文件中写数据,或者读取文件中的数据. 字节输出流OutputStream OutputStre ...
- Javascript中的apply与call
一丶定义 每个函数都包含两个非继承而来的方法:apply()和call().这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值. 1.apply()方法 apply( ...
- Unity3D中UGUI不使用DOTween制作渐隐渐现效果
在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果, 首先我们看下Unity New UI即UGUI中渐隐渐现的做法. 观察我们会发现Uni ...
- 13.1 Go练习题
13.1 Go练习题 创建一个goroutine与主线程按顺序相互发送信息若干次 且打印 slice在自动扩容后,内存地址变化 goroutine与闭包的坑 练习题汇总 package main fu ...
- Django之钩子Hook方法
局部钩子: 在Fom类中定义 clean_字段名() 方法,就能够实现对特定字段进行校验.(校验函数正常必须返回当前字段值) def clean_name(self): pass n ...
- RBAC在Django中基于中间件的AJAX应用案例
项目文件: models.py from django.db import models from django.contrib.auth.models import AbstractUser # ...