1.MVC设计模式
Model 是指 要处理的业务代码和数据操作代码
View 视图 主要是指的 跟用户打交道 并能够展示数据
Controller 看成是 Model和View的桥梁

优点:
1.1.可以降低 Model(业务/数据) 和 视图(视图) 的耦合关系
1.2.可以复用视图(同样的数据,可以使用不同的视图以 不同的图标展示出来!)

2.DotNetMVC 框架:约定大于配置

2.1控制器类命名 以 Contoller结尾:HomeController
2.2控制器类将会产生一个 与之同名的 在Views文件夹下的 文件夹:~/View/Home
2.3控制器里的 Action方法,也可在视图文件夹下生成一个同名的视图,如:Index.cshtml

第一个例子:

1.先在 Models 添加一个类,重写ToString

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVCBlog.Models
{
    public class Dog
    {
        public int ID { get; set; }
        public string Name { get; set; }

        public override string ToString()
        {
            return string.Format("ID={0},Name={1}", ID, Name);
        }
    }
}

2.在控制器添加一个HomeController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVCBlog.Models;

namespace MVCBlog.Controllers
{
    //1.控制器类 (继承了Controller)
    public class HomeController : Controller
    {

        #region 初始化数据集合·

        /// <summary>
        /// 初始化数据集合·
        /// </summary>
        public List<Models.Dog> InitData()
        {
            List<Models.Dog> list = new List<Models.Dog>()
                       {
                           , Name = "marray"},
                           , Name = "Lilly"},
                           , Name = "Terry"},
                           , Name = "Agg"}
                       };
            return list;
        }

        #endregion

        //2.Action方法 (可以看作 MVC 设计模式的 Model)
          public ActionResult Index()
        {
            System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
            //2.1 处理当前业务(比如读取数据库,判断等)
              //2.1.1 创建一个数据集合(伪数据)
              List<Models.Dog> list = InitData();
            //2.1.2 遍历集合,生成html代码,存入sbHtml
            //list.ForEach(delegate(Dog d)
            //                 {
            //                     sbHtml.AppendLine("<div>" + d + "</div>");
            //                 });

            list.ForEach(d => {
                sbHtml.AppendLine("<div>" + d.ToString() + "</div>");
            });

            //ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
            //2.2 使用ViewBag传数据给同名给视图
              //ViewBag是一个dynamic类型的集合,可以动态添加任意名称的【属性】和【值】
              ViewBag.HtmlStr = sbHtml.ToString();
            return View();
        }
    }
}

3.视图 Index.cshtml

生成以后,得到结果

3.EF(EntityFrameWork)

ORM(对象关系映射框架/ 数据持久化框架)

根据 实体对象 操作  数据表中数据的一种面向对象的操作框架。

底层也是调用 Ado.Net

在Models文件夹下面添加一个 ADO.NET 实体对象模型

————————————————————————————————————————————

————————————————————————————————————————————

MVC公开课 – 1.基础 (2013-3-15广州传智MVC公开课)的更多相关文章

  1. MVC公开课 – 2.查询,删除 (2013-3-15广州传智MVC公开课)

    查询 /Controller/HomeController.cs /// <summary> /// 查询 文章 列表 /// </summary> /// <retur ...

  2. MVC公开课 – 2.查询,删除 (2013-3-15广州传智MVC公开课)

    查询 /Controller/HomeController.cs /// <summary> /// 查询 文章 列表 /// </summary> /// <retur ...

  3. MVC公开课 – 1.基础 (2013-3-15广州传智MVC公开课)

      1.MVC设计模式 Model 是指 要处理的业务代码和数据操作代码 View 视图 主要是指的 跟用户打交道 并能够展示数据 Controller 看成是 Model和View的桥梁 优点: 1 ...

  4. 《2013传智播客视频》-wmv,avi,mp4.目录

    \!--14俄罗斯方块\视频\.复习.avi; \!--14俄罗斯方块\视频\ 复习.avi; \!--14俄罗斯方块\视频\ 形状旋转.avi; \!--14俄罗斯方块\视频\ 判断形状能否变形.a ...

  5. 2013传智播客视频--.ppt,.pptx,.doc,.docx.目录

    \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.docx; \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.pp ...

  6. 2018传智黑马Python人工智能视频教程(基础+就业+面试)

    2018传智黑马Python人工智能视频教程(基础+就业+面试) 2018传智黑马Python人工智能视频教程(基础+就业+面试) 2018传智黑马Python人工智能视频教程(基础+就业+面试) 下 ...

  7. 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记2 Xcode、Auto Layout及MVC

    原文链接不知道在哪, 接着上一话来讲,上一话中讲到了MVC,那么MVC在IOS8开发中是如何应用的呢?Paul Hegarty老师给我们展示了一个计算器的Demo,首先新建一个工程,老师把AppDel ...

  8. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  9. ASP.NET MVC 3.0 Controller基础

    ASP.NET MVC 3.0 Controller基础   1.Controller类与方法 Controller(控制器)是ASP.NET MVC的核心,负责处理浏览器请求,并作出响应.Cotro ...

随机推荐

  1. acid(数据库事务正确执行的四个基本要素的缩写)

    ACID,指数据库事务正确执行的四个基本要素的缩写.包含:原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability).一个支持事务(T ...

  2. NOIP2017 Day1 T3 逛公园(最短路+拓扑排序+DP)

    神tm比赛时多清个零就有60了T T 首先跑出1起点和n起点的最短路,因为k只有50,所以可以DP.设f[i][j]表示比最短路多走i的长度,到j的方案数. 我们发现如果在最短路上的和零边会有后向性, ...

  3. 【bzoj2893】征服王

    Portal -->bzoj2893 Descripiton 给你一个\(n\)个点\(m\)条边的有向图,有一些点是起始点,有一些点是终止点,一次操作可以从一个起始点开始沿着有向图的边走到一个 ...

  4. linux根据进程pid查看进程详细信息

    http://note.youdao.com/noteshare?id=af2fdd34e3adfacda2d34706e16e5045

  5. 14.Android UiAutomator 图像处理

    一.BitMap介绍 1.图像使用场景 1)效果类截图 2)不可见的组件图像对比 3)失败与异常截图 4)利用图像判断组件 2.部分API简单说明 API 说明 compress 压缩图片 copy ...

  6. ACE服务端编程5:ACE日志输出和跟踪

    服务器程序经常需要在命令行中显示错误消息.状态或者用来跟踪程序的执行路径,最简单的方法是使用printf. ACE提供了更强大日志设施: 1.可以在编译时启用或禁用宏: 2.可以动态的启用或禁用宏: ...

  7. cmd编译java程序出现:找不到或无法加载主类的原因以及解决办法 以及 给java的main方法传递args参数

    原因: 1.java源程序中没有主类main方法. 2.java源程序中包含有eclipse等IDE工具生成的package包. 解决办法(对应以上的原因): 1.运行含有main的类 2.将java ...

  8. HDU 4990 Reading comprehension 简单矩阵快速幂

    Problem Description Read the program below carefully then answer the question.#pragma comment(linker ...

  9. 《JavaScript 实战》:JavaScript 图片滑动切换效果

    看到alibaba的一个图片切换效果,感觉不错,想拿来用用.但代码一大堆的,看着昏,还是自己来吧.由于有了做图片滑动展示效果的经验,做这个就容易得多了. 效果预览 仿淘宝/alibaba图片切换: 默 ...

  10. 【CodeForces】708 B. Recover the String 数学构造

    [题目]B. Recover the String [题意]找到一个串s,满足其中子序列{0,0}{0,1}{1,0}{1,1}的数量分别满足给定的数a1~a4,或判断不存在.数字<=10^9, ...