• MVC基础(很基础很基础~~~)


        最近工作比较不忙,准备学习一些东西,作为一个菜鸟,不断学习新东西(我不会的东西)充实自己真的很重要,所以整理一下基础的mvc知识,以备不时之需。呵呵~~

    首先感谢原文作者:QLeelulu的文章http://QLeelulu.cnblogs.com/。下面进入正题

    一、什么是MVC模式

    MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。那么MVC模式和我们熟悉的WebForm模式有什么不同呢?他的各个部分又是怎样分工的呢?

    imagewebForm

    一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。

    imageMVC模式

    在MVC中,客户端的所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。

    二、创建MVC项目

     vs2010默认是asp.net MVC项目模板,需要下载ASP.NET MVC的安装程序http://www.microsoft.com/downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0-2362BDDE0766&displaylang=en,开始新建项目,这里我选的mvc3,至于mvc2和mvc3有什么区别,希望知道的大神能给予答案

    然后我们运行一下项目看看:

    image 

    三、认识项目

    默认的情况下,项目的目录结构如下:

    image

    • App_Data :这个目录跟我们一般的ASP.NET website是一样的,用于存放数据。
    • Content :这个目录是建议用来存放一下资源文件的。例如CSS、JS、图片等等。当然你不愿意的话,完全可以不放到这里来。
    • Controllers :这个目录是建议将Controller类都放到这里来,方便管理。Controller类的命名必须以Controller结尾,例如一个名为Home的Controller则要命名为HomeController。
    • Models :这个目录是建议用来存放你的业务实体、数据访问层代码的类的。当然,更好的做法我觉得应该是将Models独立为一个类库。
    • Views :在默认情况下,所有的view文件都必须放到这个目录下来,每一个Controller对应一个子目录,而且子目录的命名必须以Controller的命名一样。例如,HomeController的view就应该放到Home子目录中。我们见到Views目录下还有一个Shared的子目录,这个子目录是用于存放一些共享的view的,例如Error.aspx和Site.Master。Controller在ViewsControllerNmae 中找不到指定的view的时候,会到Shared中去寻找。

    下面我们来看一下ASP.NET MVC比较核心的DLL,见下图红框部分:

    image

    System.Web.Routing :URL路由。将一个URL路由到对应的Controller上靠的就是这个。是在HttpModule里面处理的。

    System.Web.Extensions :这个是ASP.NET AJAX的。

    System.Web.Mvc: ASP.NET MVC最主要的程序集。在CodePlex上放出源代码的就是这个DLL。

    System.Web.Abstractions :这个程序集是一些相关的基类来的。例如HttpContextBase、HttpRequestBase 等等。

    Microsoft.Web.Mvc :这个程序集只要放一些MVC的特性与扩展的方法。在ASP.NET MVC beta版中,这个DLL已经被移除,但是如果你需要用到这个DLL的功能,可以到这里下载并引入就可以了

    我们完全可以在VS10中建一个一般的WebAppliction,然后引入这几个DLL,再配置一下web.config文件,那么就可以成为一个ASP.NET MVC的Application了。

  • 相关阅读:
    右建删除.svn
    Oracle 初始化 SEQUENCE附代码
    IE8支付宝密码控件
    JavaScript怎样读取Gridview控件的单元格的值
    IIS7 发布WCF
    C#创建后台服务注意事项
    Sqlserver中传递列参数需要注意的一个小细节
    JavaScript中针对中文参数的转编码
    VS2010里面调试后台服务
    href=#与href=javascriptvoid(0)的区别
  • 原文地址:https://www.cnblogs.com/loveAnimal/p/3333044.html
Copyright © 2020-2023  润新知