前几年的时候ASP.Net就有MVC的概念,实际上就是我们熟悉的WebForm开发模型。

1、Model层与视图无关,并且只与数据库相关:
伪代码:
pulic class Model
{
      pulic DataSet ds()
      {
            //数据库库取数据
            return ds;
      }
}

2、Controller实际上就是我们熟悉的Default.aspx.cs文件,继承自System.Web.UI.Page 类的文件
3、View就是aspx文件了

而今,微软推出了新的MVC开发框架,也就是Microsoft ASP.NET 3.5 Extensions。可以从这里下载:http://download.microsoft.com/download/6/5/c/65cad864-54a5-463a-9573-bc7d0bbc1df9/ASPNetExt.exe

当然,安装之前必须安装VS2008。安装完后可以在创建项目的地方增加以下两种项目。


一种是“ASP.NET MVC Web Application and Test”会同时创建MVC项目和一个测试项目,一个是ASP.NET MVC Web Application,只会纯粹的建立MVC项目。而在项目中引用新文件的时候,也会增加MVC的页面。

在创建MVC项目以后,会增加以下文件

访问的机制是通过URL重写实现的。因此,你需要设置IIS映射。

MVC是通过HttpModule进行地址重写的

   < httpModules >
    < add name = " ScriptModule "  type = " System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " />
    < add name = " DynamicDataModule "  type = " System.Web.DynamicData.DynamicDataHttpModule, System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " />
    < add name = " UrlRoutingModule "  type = " System.Web.Mvc.UrlRoutingModule, System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 "   />
   </ httpModules >

而在Global.asax.cs中设置了映射关系
   //设置Url重写映射
   //URL格式设置了访问的为controller(这里是Home),action对应HomeController里的方法

1    RouteTable.Routes.Add(new Route
2    {
3     Url = "[controller]/[action]/[id]",
4     Defaults = new { action = "Index", id = (string)null },
5     RouteHandler = typeof(MvcRouteHandler)
6    });

//设置默认访问地址,因此主目录下看似无用的Default.aspx不能删除掉
    //controller ="Home"设置的是访问的路径,这里对应上图中的Home目录,也对应了HomeController的类名
   //action是对应HomeController.cs类中的Index方法。

1    RouteTable.Routes.Add(new Route
2    {
3           Url = "Default.aspx",
4           Defaults = new { controller = "Home", action = "Index", id = (string)null },
5           RouteHandler = typeof(MvcRouteHandler)
6    });

HomeController.cs代码:

 1 public class HomeController : Controller
 2  {
 3   [ControllerAction]
 4   public void Index()
 5   {
 6    RenderView("Index");
 7   } 
 8 
 9 
10   [ControllerAction]
11   public void About()
12   {
13    RenderView("About");
14   }
15  }
16 
17 

在HomeController中找到要访问的页面

最后要说明的是Html.ActionLink("About Us", "About", "Test")方法,能够实现自动链接处理,
参数1是 链接显示的文字
参数2是 要访问的文件
参数3是 访问的目录,尽管参数名是controllerName.

转载于:https://www.cnblogs.com/andan/archive/2008/10/25/1319226.html

ASP.Net MVC框架配置分析详解相关推荐

  1. ASP.NET MVC Controller激活系统详解:默认实现

    Controller激活系统最终通过注册的ControllerFactory创建相应的Conroller对象,如果没有对ControllerFactory类型或者类型进行显式注册(通过调用当前Cont ...

  2. ASP.NET MVC 的安装过程详解

    ASP.NET MVC 的安装过程详解 如果你的机器上没有任何开发软件,你需要准备的工具有: (1)    Visual_studio_team_system_2008(vs2008) (2)    ...

  3. Spring MVC 框架搭建及详解

    现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...

  4. MVC框架的原理详解

    阅读目录 一.MVC原理解析 1.MVC原理 二.HttpHandler 1.HttpHandler.IHttpHandler.MvcHandler的说明 2.IHttpHandler解析 3.Mvc ...

  5. 22.Linux-块设备驱动之框架详细分析(详解)

    1.之前我们学的都是字符设备驱动,先来回忆一下 字符设备驱动: 当我们的应用层读写(read()/write())字符设备驱动时,是按字节/字符来读写数据的,期间没有任何缓存区,因为数据量小,不能随机 ...

  6. 荣耀v10图片是html格式,荣耀V10真机上手图赏 参数配置分析详解

    荣耀V10外观 外观方面,荣耀V10的最大亮点就是采用了全面屏设计.荣耀V10拥有一块5.99英寸屏幕,机身手感与5.5英寸屏幕的手机相似,厚度仅6.97mm.并且它采用了"金镶玉" ...

  7. ASP.NET Core的配置(2):配置模型详解

    在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式,其中涉及到三个重要的对象,它们分别是承载结构化配置信息的Configuration,提供原始配置源数据的ConfigurationProvi ...

  8. SpringSecurity权限管理框架系列(六)-Spring Security框架自定义配置类详解(二)之authorizeRequests配置详解

    1.预置演示环境 这个演示环境继续沿用 SpringSecurit权限管理框架系列(五)-Spring Security框架自定义配置类详解(一)之formLogin配置详解的环境. 2.自定义配置类 ...

  9. C#利用ASP.NET?Core开发学生管理系统详解

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...

最新文章

  1. 学Java技术,这些问题要避免
  2. px4驱动linux,px4开发指南——linux下qgroundcontrol地面站安装
  3. 3.1线性判别函数【模式识别】
  4. ORACLE常用的动态性能视图
  5. CF572_Div2_D2
  6. linux命令的学习
  7. java职业发展路线图_Java程序员如何选择未来的职业路线
  8. yii2 redis封装类 php,yii2项目中如何使用redis
  9. i春秋做题记录 web(一)
  10. 将原生SQL功能Hibernate到您的Spring Data Repository中
  11. 证书的应用之一 —— TCPSSL通信实例及协议分析(上)
  12. 论文学习2-Incorporating Graph Attention Mechanism into Knowledge Graph Reasoning Based on Deep Reinforce
  13. Go语言中Tcp协议粘包问题处理
  14. stm32采集脉冲信号_外部脉冲实现ADC采样的问题 STM32f103VE
  15. CCF CSP 归一化处理
  16. 获取某一天的开始时间
  17. pythonpath环境变量pth_使用pth文件添加Python环境变量方式
  18. 斯坦福用算法降低:令欧洲头大的难民犯罪率
  19. 【爱思考】CISP证书有效期是几年,到期后怎么办
  20. 示例代码-Matlab绘制高斯分布曲面图(1)

热门文章

  1. 记录 之 不同的Normalization方式
  2. 关于set.insert的一个问题,是否是常量的问题(未解决问题)
  3. mysql中查询触发器的语句
  4. c++ stl 标准库容器的选择原则(图)
  5. mysql的学习笔记
  6. [攻防世界 pwn]——Mary_Morton
  7. 嵌入式linux mono,嵌入式linux/android alsa_aplay alsa_amixer命令行用法(示例代码)
  8. go channel 缓冲区最大限制_[Go区块链基础]go channel
  9. Linux技巧:多核下绑定硬件/进程到不同CPU
  10. java算法----0至9这十个数组成两个三位数和一个四位数