asp.net mvc笔记一,最小的MVC工程

 
Asp.net MVC项目默认会引用很多第三方插件,特别是现在的5.0,默认示例项目就几十M,搞得都不知道那些才是MVC必须的,是重点,那些是可有可无的。
今天我们就来试验一下,看看一个最小的MVC工程都需要那些东西。当然,为了试验,我们就不用VS自带的新建MVC工程,而是自己用一个普通的Web应用程序来搭建一个MVC项目,一层层揭开MVC的神秘面纱。
下面的示例工程用的是VS2013,其它版本可能有些不同,但道理都是一样的。
 
第一篇,建一个最小的MVC工程。

第一步,打开VS2013,新建一个项目

第二步,新建一个asp.net Web应用程序

第三步,选择空模板,WebForms、MVC、Web API都不选,无身份认证。上面几步,在VS2010或2012的直接建一个空的Web 应用程序就行。

建好后的工程像这样的,什么都没有。

第五步,在项目上右键,单击管理NuGet程序包,打开NuGet(vs2010略有些不同)。
使用NuGet安装MVC是为我获取我们需要的文件,不是必须的,本示例中只会使用System.Web.mvc.dll。如果不用GuGet下载的话,你也可以去别的地方下载相应的程序集,记住自己引用的版本,后面会有些配置文件配置。
第六步,联机搜索asp.net mvc,搜到后安装,什么版本都可以,这里安装的是5.0版本。

接受

5.0的MVC默认会安装这些东西。

比刚才多出了7个引用。

第七步,将除System.Web.Mvc外的其它6个删除,在项目根目录下建立Controllers、Models、Views三个文件夹。

第八步,为项目添加一个全局应用程序(Global.asax),添加上面圈的那句代码和外用。

第九步,在Controllers目录下添加一个名为HomeController的类。选引入System.Web.mvc命名空间,让HomeController类继承Controller类,添加一个Index的方法,代码如图。
注意,这时VS2013已经可以添加控制器了,VS2010没有,但我们是为了试验,所以是添加一个类,不是添加一个控制器
第十步,在Views目录下建一个Home目录,再在Home目录下面建一个Index.aspx的Web窗体,删除Web窗体的后置代码文件,只保留Index.aspx文件,更改代码如图所示。

第十一步,打开Global.asax文件,为当前项目添加一个默认的路由,如图红圈内代码。

第十二步,运行代码,OK。
 
通过上面的实验,我们可以看到,其实Mvc和传统的Web 应用程序并没有任何不同,就是多引入了些程序集而已,核心的程序集只有一个System.Web.mvc.dll。只是在VS中,特别是VS2010中,直到最后项目能正常跑起来了,还是无法通过右键菜单添加控制器或视图,感觉好像是两个不同的东西样。但在VS2013中,算是回归本质了,你就算建一个Web窗体应用程序工程,只要引入了System.Web.mvc.dll,就可以享受和MVC工程一样的右键菜单了。

 
 
 
 
标签: asp.net mvc示例

最小的MVC工程的更多相关文章

  1. asp.net mvc笔记一,最小的MVC工程

    Asp.net MVC项目默认会引用很多第三方插件,特别是现在的5.0,默认示例项目就几十M,搞得都不知道那些才是MVC必须的,是重点,那些是可有可无的. 今天我们就来试验一下,看看一个最小的MVC工 ...

  2. .NET MVC 学习笔记(一)— 新建MVC工程

    一..NET MVC 学习笔记(一)—— 新建MVC工程 接触MVC有段时间了,一直想找机会整理一下,可是限于文笔太差,所以一直迟迟羞于下手,想到最近做过的MVC项目也有一些了,花点时间整理一下方便以 ...

  3. 使用方法拦截机制在不修改原逻辑基础上为 spring MVC 工程添加 Redis 缓存

    首先,相关文件:链接: https://pan.baidu.com/s/1H-D2M4RfXWnKzNLmsbqiQQ 密码: 5dzk 文件说明: redis-2.4.5-win32-win64.z ...

  4. [Java] Maven 建立 Spring MVC 工程

    GIT: https://github.com/yangyxd/Maven.SpringMVC.Web 1. 建立 WebApp 工程 下一步: 下一步: 选择 maven-archetype-web ...

  5. spring-构建mvc工程

    SpringMVC基于模型-视图-控制器(MVC)模式实现,可以构建松耦合的web应用程序. 1.SpringMVC的请求过程 1)请求离开浏览器,并携带用户所请求的内容 2)DispatcherSe ...

  6. 可落地的DDD的(2)-为什么说MVC工程架构已经过时

    摘要 mvc是一种软件设计模式,最早由Trygve Reenskaug在1978年提出,他有效的解决了表示层,控制器层,逻辑层的代码混合在一起的问题,很好的做到了职责分离.但是在实际的编码实践过程中, ...

  7. srping MVC 工程简单搭建

    Spring版本:3.2.2.RELEASE 第一步:导入必须的jar包 spring-beans.jar spring-context.jar spring-core.jar spring-expr ...

  8. STS 新建mvc工程--helloworld

    File--New--Spring Template Project 选择Spring MVC Project 填写项目名称和基础的包名 Finish之后就完成了. 把项目添加到服务器,然后运行.在浏 ...

  9. Spring MVC工程 无法拦截到url请求

    一直没有办法拦截到url的请求,tomcat启动也没有看到Springmvc容器启动的任何说明.所以就建立了一个普通的servlet工程,可以访问url.再重新发布springmvc项目,访问url, ...

随机推荐

  1. Git常用命令(转)

    目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂.我整理了一份关于Git的学习资料,希望能帮助到正在学习Git的同学. 一. Git 命令初识 ...

  2. 关于启动调试时,总是启动多个web端口的问题

    在一个解决方案中,经常包含多个web项目,当设置某一个web项目为起始项目后,启动调试,会发现其他的web项目的端口也会一起打开,显示在电脑的右下方,其实开启其他端口有时是没必要的,只是多占用了系统内 ...

  3. 关于JavaScript中计算精度丢失的问题

    摘要: 由于计算机是用二进制来存储和处理数字,不能精确表示浮点数,而JavaScript中没有相应的封装类来处理浮点数运算,直接计算会导致运算精度丢失. 为了避免产生精度差异,把需要计算的数字升级(乘 ...

  4. java_代码注释风格

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><templa ...

  5. 算法题C#

    几个大公司(IBM.MicroSoft and so on)面试经典数据结构与算法题C#解答 1.链表反转 我想到了两种比较简单的方法 第一种是需要开一个新的链表,将原链表的元素从后到前的插入到新链表 ...

  6. java_tomcat_the_APR based Apache Tomcat 小喵咪死活启动报错_临时方案

    报错信息如下: 信息: The APR based Apache Tomcat Native library which allows optimal performance in productio ...

  7. Angularjs -- 核心概念

     angularjs旨在减轻使用AJAX开发应用程序的复杂度,使得程序的创建.測试.扩展和维护变得easy.以下是angularjs中的一些核心概念. 1. client模板      多页面的应用通 ...

  8. 数据库数据导出成XML文件

    在数据库中,怎样把库中的数据导出XML文件, sql语句如下: SELECT *  FROM 表名 FOR XML AUTO, ELEMENTS

  9. Web Service学习笔记:动态调用WebService

    原文:Web Service学习笔记:动态调用WebService 多数时候我们通过 "添加 Web 引用..." 创建客户端代理类的方式调用WebService,但在某些情况下我 ...

  10. 编译预处理 -- 带参数的宏定义--【sky原创】

    原文:编译预处理 -- 带参数的宏定义--[sky原创] 如有转载请注明出处   编译预处理  --  带参数的宏定义 前面为输出文件,后面为输入文件 gcc -E -o test.i test.c ...