[.Net码农]MVC——入门+最简单的小实例

转载 2015年11月19日 22:22:46

http://blog.csdn.net/suneqing/article/details/41427037?utm_source=tuicool&utm_medium=referral



MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controler)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法。


1.最上面直接面向用户的"视图层"(View)。它是提供给用户的操作界面。

2.最底层核心的"数据层"(Model),也就是程序需要操作的数据或信息。
3.中间层是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。

    

    MVC就像有点类似于食堂,可以分成三部分。一部分是仓库,负责提供蔬菜等原材料,这是"数据层"(Model);另一部分是卖饭窗口,这是它的"视图层"(View),负责销售饭菜;两者之间是通过厨师这个"控制层"(Controller)将原材料从“仓库”中取出,处理加工后放到“窗口”上卖。


    下面就通过一个小例子进一步说明MVC的中三层的各自的作用以及交互。


1.新建mvc项目。



2.在Models文件夹下新建一个user类,用于模拟数据。

[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. public class user  
  2. {  
  3.     public string userName {get;set; }  
  4.     public string passWord{get;set;}  
  5.   
  6.     public  override string ToString ()  
  7.     {  
  8.         return "userName="+this.userName+",passWord="+this.passWord;  
  9.     }  
  10. }  


3.在Controllers文件夹下新建一个控制器,用于从获取user.cs中数据,并将处理后数据传给Index.cshtml视图。


[csharp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. namespace MyMvcTest.Controllers  
  2. {  
  3.     public class MyUserController : Controller  
  4.     {  
  5.         //  
  6.         // GET: /MyUser/  
  7.   
  8.         public List<Models.user> InitData()  
  9.         {  
  10.             List<Models.user> list = new List<Models.user>()  
  11.             {  
  12.                 new Models.user(){userName="1",passWord="1"},  
  13.                 new Models.user(){userName="2",passWord="2"},  
  14.                 new Models.user(){userName="3",passWord="3"}  
  15.             };  
  16.   
  17.             return list;  
  18.         }  
  19.   
  20.         public ActionResult Index()  
  21.         {  
  22.             //创建一个StringBuilder  
  23.             System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(4000);  
  24.   
  25.             //初始化数据  
  26.             List<Models.user> list = InitData();  
  27.   
  28.             //从list中获取数据并存入到sbHtml中  
  29.             list.ForEach(d =>  
  30.             {  
  31.                 sbHtml.AppendLine("<div>"+d.ToString()+"</div>");  
  32.             });  
  33.   
  34.             //利用ViewBag传输数据给同名的index.cshtml视图  
  35.             ViewBag.HtmlStr = sbHtml.ToString();  //ViewBag是一个dynamic类型集合,可以动态添加任意类型的任意名称的属性和值  
  36.             return View();  
  37.         }  
  38.   
  39.     }  
  40. }  


4.添加视图,用于将数据显示到Index.cshtml视图中。


[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. @{  
  2.     Layout = null;  
  3. }  
  4.   
  5. <!DOCTYPE html>  
  6.   
  7. <html>  
  8. <head>  
  9.     <meta name="viewport" content="width=device-width" />  
  10.     <title>Index</title>  
  11. </head>  
  12. <body>  
  13.     <div>  
  14.         @Html.Raw(ViewBag.HtmlStr)  
  15.     </div>  
  16. </body>  
  17. </html>  


5.配置路由,设置新添加的视图为默认启动视图,在App_Start文件下找到RouteConfig.cs文件进行修改。



总结:View提供给操作界面,Model提供程序需要操作的数据或信息,Controller负责对数据加工并传入到到view中。

源码下载



举报

相关文章推荐

MVC——入门+最简单的小实例

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controler)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法。 ...

MVC——入门+最简单的小实例

MVC就像有点类似于食堂,可以分成三部分。一部分是仓库,负责提供蔬菜等原材料,这是"数据层"(Model);另一部分是卖饭窗口,这是它的"视图层"(View),负责销售饭菜;两者之间是通过厨师这个"控...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

JPype入门实例

转自:http://www.cnblogs.com/mumuli/p/5806963.html   因项目需要用python调用java程序,所以特意搜了搜JPype,但调了好几天才成功,尽管心好累,...

Spring MVC入门-----简单实现Spring MVC

前端控制器是DispatcherServlet; 应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作...

Mybatis入门最简单实例

Mybatis入门实例本文使用IDEA创建mybatis项目,并成功coding一个最简单的mybatis示例 (本文参靠自以下文章,非常感谢原作者!) MyBatis:快速入门实例 Hello...

最简单的ExtJS4的MVC实例

最简单的ExtJS4的MVC实例 从ExtJS4.0开始,ExtJS支持MVC架构,让前端开发者更好的实现数据与逻辑分离,使用 View, Controller, Model组件定义来完成浏览...

第一个ibatis程序

第一步,创建mybatis-config.xml sql文件: DROP TABLE IF EXISTS `hms_user`; CREATE TABLE `hms_user` ( `id` va...

rabbitmq 入门操作

rabbitmq 入门操作 (rabbitmq的简单认识)         Rabbitmq 是一种消息队列 消息队列都会包含 producer(生产者),consumer(消费者)及broker...

spring-mvc最小化配置,最简单入门。

不会用spring,也不会spring-mvc,在越来越注重效率的java开发大环境下,不会spring-mvc是不行的。 作为刚入门的coder,公司的项目都是别人配好的,感觉用起来好简单,所以萌...

Objc -- Runtime 简单入门(代码实例)

Objc Runtime使得C具有了面向对象能力,在程序运行时创建,检查,修改类、对象和它们的方法。 Runtime是C和汇编编写的,这里http://www.opensource.apple.co...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)