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公开课)的更多相关文章
-
MVC公开课 &ndash; 2.查询,删除 (2013-3-15广州传智MVC公开课)
查询 /Controller/HomeController.cs /// <summary> /// 查询 文章 列表 /// </summary> /// <retur ...
-
MVC公开课 – 2.查询,删除 (2013-3-15广州传智MVC公开课)
查询 /Controller/HomeController.cs /// <summary> /// 查询 文章 列表 /// </summary> /// <retur ...
-
MVC公开课 – 1.基础 (2013-3-15广州传智MVC公开课)
1.MVC设计模式 Model 是指 要处理的业务代码和数据操作代码 View 视图 主要是指的 跟用户打交道 并能够展示数据 Controller 看成是 Model和View的桥梁 优点: 1.1 ...
-
《2013传智播客视频》-wmv,avi,mp4.目录
\!--14俄罗斯方块\视频\.复习.avi; \!--14俄罗斯方块\视频\ 复习.avi; \!--14俄罗斯方块\视频\ 形状旋转.avi; \!--14俄罗斯方块\视频\ 判断形状能否变形.a ...
-
2013传智播客视频--.ppt,.pptx,.doc,.docx.目录
\!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.docx; \!-- JQ03-JQ事件动画\.1版JS+JQ PPT\00JsDom编程01_邹华栋.pp ...
-
2018传智黑马Python人工智能视频教程(基础+就业+面试)
2018传智黑马Python人工智能视频教程(基础+就业+面试) 2018传智黑马Python人工智能视频教程(基础+就业+面试) 2018传智黑马Python人工智能视频教程(基础+就业+面试) 下 ...
-
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记2 Xcode、Auto Layout及MVC
原文链接不知道在哪, 接着上一话来讲,上一话中讲到了MVC,那么MVC在IOS8开发中是如何应用的呢?Paul Hegarty老师给我们展示了一个计算器的Demo,首先新建一个工程,老师把AppDel ...
-
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
-
ASP.NET MVC 3.0 Controller基础
ASP.NET MVC 3.0 Controller基础 1.Controller类与方法 Controller(控制器)是ASP.NET MVC的核心,负责处理浏览器请求,并作出响应.Cotro ...
随机推荐
-
ArcGIS Engine中的8种数据访问 (转)
数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGI ...
-
Selenium调用Chrome,Firefox,IE
C#环境下,使用Selenium调用不同的浏览器,可以使用如下方法: IWebDriver driver = null; string Browser =null; if (Browser.Equal ...
-
stream_copy_to_stream的使用
stream_copy_to_stream - 在数据流之间进行复制操作 例子: <?php //读写方式 $stream = fopen('php://temp', 'w+'); //如果成功 ...
-
AESEncrypter加密算法代码示例
package testJava.java; import java.security.SecureRandom; import java.util.Base64; import javax.cryp ...
-
frame 之间访问
index.asp代码 <frameset rows="50,*,20" cols="*" frameborder="no" bord ...
-
远程连接到Fedora
首先执行以下3点(主要是前两点) 第一: 开启ssh #service sshd restart 第二:关闭防火墙 #service iptables stop 第三:selinux(重启电脑后失效) ...
-
Get and Post(Unity3D开发之六)
猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=565 unity3d中的www直 ...
-
JS实现简单斗地主效果
let play = document.querySelectorAll(".play"); let dizhupai = document.getElementById(&quo ...
-
Mike and strings CodeForces - 798B (简洁写法)
题目链接 时间复杂度 O(n*n*|s| ) 纯暴力,通过string.substr()函数来构造每一个字符串平移后的字符串. #include <iostream> #include & ...
-
Debian Security Advisory(Debian安全报告) DSA-4405-1 openjpeg2
package :openjpeg2 相关CVE ID: CVE-2017-17480 CVE-2018-5785 CVE-2018-6616 CVE-2018-14423 CVE-2018-1808 ...