MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
快速上手。今天我们来从无到有创建mvc项目,介绍一下相关的知识点。咱们开门见山。我做的简单的demo 是最基本的,具体项目中还会根据具体的业务做不同的选项。但是不影响我们明白原理和理解过程。
demo 通过MVC 这个小项目 实现界面显示文字。
打开VS 新建项目。我选的mvc4
新建好之后 是下图这个样子。1我们看它自动的就已经生成了Models Views Controllers这三个文件夹。也就是我们所说的MVC。
接下来 我们建立控制器。 右击controllers,添加--控制器。
注意 后缀名controller不能改,可以根据自己的需要更改选中的蓝色部分。
知识点:此时我们看到的新建立好的控制器类和普通的类不一样 它是继承了controller。当我们查看该controller时 发现了它的物理路径在我们新建项目的文件夹中,也就是说明这是自动添加的,并且已经自动引用了。
2 同时自动生成的还有一个Action方法。它用来处理业务和操作数据库。
二 在model中新建类 代码如下。
三添加view
在代码中 右键自己新建的defaultcontroller类。添加视图。默认视图名字和自己的controller类的名字是相同的 不用改。
知识点:建立好了之后 ,你会发现视图自动的添加到了views文件夹下面。一个controller里的action 可以对应一个视图。
四代码部分
有了controller model views这三个新建类之后,在controller中添加相应代码如下。
重点是我要把在controller中的值传到view中 是如何做到的呢。
①使用ViewBag得到controller中要传的内容。
using MvcDemo.Models; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { public class TestController : Controller { //创建一个数据集合(假数据) // GET: /Test/ /// <summary> /// 初始化数据集合 /// </summary> public List<Models.apple> InitData() { List<Models.apple> list = new List<Models.apple>(){ new apple(){ID=1,Name="红苹果"}, new apple(){ID=2,Name="青苹果"} }; return list; } /// <summary> /// action 方法 /// </summary> /// <returns></returns> public ActionResult Index() { System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(4000); //处理当前业务 比如读取数据库 判断等 //创建一个数据集合 (伪数据) List<Models.apple> list = InitData(); //遍历集合 生成HTML代码 存入sbHtml list.ForEach(d => { sbHtml.AppendLine("<div>"+d.ToString()+"</div>"); }); //使用ViewBag传输给同名 index cshtml视图 //viewBag是一个dynamic 类型的集合 可以动态添加任意类型的任意名称的属性和值 ViewBag.HtmlStr = sbHtml.ToString(); return View(); } } }
②在view中 直接添加语句如下。即可。
@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> <!--相当于把action方法中保存的内容放在此处输出--> @ViewBag.HtmlStr </div> </body> </html>
此时我们可以右键Index右键 在page inspector中查看效果。
总结:要一遍敲代码 一边思考。敲而不思则罔 思而不敲则殆。
原文地址:http://blog.csdn.net/u010176014/article/details/42240603