ASP.Net MVC框架配置与分析

前几年的时候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里的方法
   RouteTable.Routes.Add(new Route
   {
    Url = "[controller]/[action]/[id]",
    Defaults = new { action = "Index", id = (string)null },
    RouteHandler = typeof(MvcRouteHandler)
   });
    //设置默认访问地址,因此主目录下看似无用的Default.aspx不能删除掉
    //controller ="Home"设置的是访问的路径,这里对应上图中的Home目录,也对应了HomeController的类名
   //action是对应HomeController.cs类中的Index方法。
   RouteTable.Routes.Add(new Route
   {
    Url = "Default.aspx",
    Defaults = new { controller = "Home", action = "Index", id = (string)null },
    RouteHandler = typeof(MvcRouteHandler)
   });

HomeController.cs代码:

 public class HomeController : Controller
 {
  [ControllerAction]
  public void Index()
  {
   RenderView("Index");
  }
  [ControllerAction]
  public void About()
  {
   RenderView("About");
  }
 }

在HomeController中找到要访问的页面 最后要说明的是Html.ActionLink("About Us", "About", "Test")方法,能够实现自动链接处理, 参数1是 链接显示的文字 参数2是 要访问的文件 参数3是 访问的目录,尽管参数名是controllerName. 全文完。2008年1月18日 by Birdshover

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏软件开发

前端MVC学习总结(三)——AngularJS服务、路由、内置API、jQueryLite

AngularJS功能最基本的组件之一是服务(Service)。服务为你的应用提供基于任务的功能。服务可以被视为重复使用的执行一个或多个相关任务的代码块。

15230
来自专栏拂晓风起

在asp.net的web应用系统中导出申请表等文档

14240
来自专栏软件开发

前端MVC学习总结(三)——AngularJS服务、路由、内置API、jQueryLite

一、服务 AngularJS功能最基本的组件之一是服务(Service)。服务为你的应用提供基于任务的功能。服务可以被视为重复使用的执行一个或多个相关任务的代码...

23350
来自专栏Core Net

ASP.NET Core 2.0 : 三. 项目结构

47850
来自专栏Java3y

Servlet第五篇【介绍会话技术、Cookie的API、详解、应用】

什么是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们...

33350
来自专栏一个爱瞎折腾的程序猿

asp.net core使用Swashbuckle.AspNetCore(swagger)生成接口文档

开局一张图,然后开始编,一些基本的asp.net core东西就不再赘述,本文只对Swashbuckle.AspNetCore的几个使用要点进行描述。

19710
来自专栏圣杰的专栏

事件总线知多少(2)

源码路径:Github-EventBus 事件总线知多少(1) 事件总线知多少(2) 1.引言 之前的一篇文章事件总线知多少(1),介绍了什么是事件总线...

24070
来自专栏章鱼的慢慢技术路

使用Go语言+Protobuf协议完成一个多人聊天室

之前用纯逻辑垒完了一个可登入登出的在线多人聊天室(代码仓库地址),这次学习了Protobuf协议,于是想试着更新下聊天室的版本。

14130
来自专栏落影的专栏

编译与链接过程的思考

前言 最近遇到一个错误,如下 ? 在解决过程中,回顾了很多知识,于是有了这篇文章。 关键词:预处理、编译、汇编、链接、动态链接库、静态链接库、真机调...

53690
来自专栏FreeBuf

AutoIt木马又一发:暗藏神秘照片

AutoIt是一个自动化的Windows界面交互的脚本语言,具有很高的灵活性和较低的学习曲线。由于AutoIt解释器本身属于合法程序,黑客可以把恶意代码藏在脚本...

35890

扫码关注云+社区

领取腾讯云代金券