MVC系列之一 入门概述

一 概述

  MVC作为一种当前比较好的开发web的框架,不得不提一下了,和WebForm比较来看,有了很大的进步和改进。

  先进行一个简单的比较,两个都是Web开发框架,理念仍然是较快速开发。

  不过MVC已经几乎摒弃了臃肿的服务端控件,采用更为简洁和可定义的标签形式。前台View视图和后台Controller控制器弱耦合分离的形式,比Asp.Net前台后台采用继承的紧耦合形式更加灵活和合理。

 

二 基本三元素介绍

  MVC不得不说的三个主要元素,就是Model,View,Controller这三个元素。下面简单地一一介绍下:

  Model:这是主要负责数据库和Controller控制器交互

  View视图:这是主要负责展示Controller传输给他的数据

  Controller控制器:主要接受Model传过来的数据,然后传给View

画个图吧,好看些

BLL,DAL,Models是简单三层的概念,写出来防止大家把Model和Models弄混了,这里的Model可是包括了这三个的

 

三 创建一个简单的项目Demo

  在这里,我还是比较喜欢使用项目来学习,理论讲一部分就好了,更多的理解,就通过项目来学习吧

  环境:

    VS2010时需要去下载独立的MVC安装包的,不是很复杂,百度可以告诉你一切

    VS2012时就不需要下任何安装包了,直接就可以新建MVC项目了

  

  然后选择MVC 4,创建一个空白的MVC项目就可以了,凡事从简单入手嘛!

      看到这个目录,里面很简单,除了之前讲的三个基本元素,View,Controller,Model ,剩下的App_Data放私有权限的东西,比如数据;App_Start存放的一些重要的初始化类,后面再详细讲;Global.asax是应用程序文件,主要负责管道事件,后面详细讲;剩下的几个config就是简单的配置文件;

 

四 Controller控制器

  在Controllers右键添加控制器,默认使用HomeController,注意:后缀一定要是Controller,在MVC有时候约定大于配置,某些约定的配置就是这么默认的,不要轻易更改。

  请注意,这里开始讲解配置会比较多,理念的理解还是主要是开头的理念,Controller的作用这里就不再累赘了。

  

  在新建的Controller里面有一个,Index,这是其中的一个Action的名字,在这里Action的含义是动作,可以理解为页面的各种动作,Index就是默认的一个动作。

  在Index上面右击,添加视图,视图的名字默认和Action是一样的,不用修改,目前选择使用Aspx视图引擎,先不要模版。

  添加后跳到了Index.aspx页面,这是一个HTML的世界,当你习惯性地打开工具箱的时候,你会发现,工具箱中的控件少得可怜,没有那些强大的服务端控件,没有了那些拖慢了aspx页面的服务端控件,剩下的只有简单的html。

  让我们简单的写点上去,Hello World必须写,你懂的,运行起来吧小宇宙。。。。。

  

  这里要看到一个:URL地址,默认其实是localhost:7777,我现在写的是补全后的地址。

    Home是我们的控制器的名字,Index是我们Action的名字,相信朋友们应该发现一点MVC的奥秘了吧

  对,没错,你们想得没错,MVC在这里的里面,是用 Controller+Action 确定访问地址,简单粗暴,嘿嘿....

 

五 Controller+Action

  刚才讲到了访问地址,下面呢,我们再讲一点,页面跳转的知识,后面我们再进行别的问题的深入。

  在刚开始学习MVC的时候,对Controller和Action的理解一般都会比较模糊,下面的几个例子来看下:

  在Home控制器下新建一个Action

  

  并且添加视图,在新建的试图里面写点东西

  回到我们的Index视图中,

  

  运行,点击我们的Link to MyAction

  

  在此看地址,已经更改了,其实这种没有后缀的形式,在<a>的链接属性方面还是没有什么差别的。

  再来看一个,更强大的东西,传说中的HtmlHelper:

    <div>
        Hello World,MVC,I'm JamesZhu.
        <hr/>
        <a href="/Home/MyAction">Link to MyAction</a>
        <hr/>
        <% Html.ActionLink("Link to MyAction", "MyAction", "Home"); %>
    </div>

  可以达到同样的效果,嘿嘿,Html这是一个很强大的东西,后面再深入讲,今天写到这里了,嘿嘿

 

四 总结

  稍微总结下,这篇文章,主要时候有一定web开发经验,熟悉html前端,以及asp.net,然后又想学习mvc的朋友,可以借鉴下。

 

声明

  本文主要是个人学习MVC后的一些经验以及看法,仅供参考,如有错误,欢迎指正,谢谢。

  个人感觉:在学习MVC之前,最好有以下知识储备:HTML,Jquery,Ajax,Asp.Net等技术基础

 

 

 

 

posted @ 2013-10-24 23:32  朱京辉  阅读(2054)  评论(18编辑  收藏  举报