知识大全 ASP.NET MVC上的Web应用

Posted 框架

篇首语:最关情,折尽梅花,难寄相思。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET MVC上的Web应用相关的知识,希望对你有一定的参考价值。

ASP.NET MVC 4框架:ASP.NET MVC上的Web应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

     建立在 迷你版 ASP NET MVC上的Web应用

  在正式介绍我们自己创建的 迷你版 ASP NET MVC的实现原理之前 不妨来看看建立在该框架之上的Web应用如何定义 通过Visual Studio创建一个空的ASP NET  Web应用(注意不是ASP NET MVC应用)并不会引用System Web Mvc dll这个程序集 所以在接下来的程序中看到的所谓MVC的组件都是我们自行定义的

  首先定义了如下一个SimpleModel类型 它表示最终需要绑定到View上的数据 为了验证针对Controller和Action的解析机制 SimpleModel定义的两个属性分别表示当前请求的目标Controller和Action

  public class SimpleModel

  

  public string Controller get; set;

  public string Action get; set;

  

  与真正的ASP NET MVC应用开发一样 我们需要定义Controller类 按照约定的命名方式(以字符 Controller 作为后缀) 我们定义了如下一个HomeController HomeController实现的抽象类型ControllerBase是我们自行定义的 以自定义的ActionResult作为返回类型的Index方法表示Controller的Action 它接受一个SimpleModel类型的对象作为参数 该Action方法返回的ActionResult是一个RawContextResult对象 顾名思义 RawContextResult就是将指定的内容进行原样返回 在这里我们将作为参数的SimpleModel对象的Controller和Action属性显示出来

  public class HomeController: ControllerBase

  

  public ActionResult Index(SimpleModel model)

  

  string content = string Format( Controller: <br/>Action:

  model Controller model Action)

  return new RawContentResult(content)

  

  

  ASP NET MVC根据请求地址来解析出用于处理该请求的Controller的类型和Action方法名称 具体来说 我们预注册一些包含Controller和Action名称作为占位符的(相对)地址模板 如果请求地址符合相应地址模板的模式 Controller和Action名称就可以正确地解析出来 和ASP NET MVC应用类似 我们在Global asax中注册了如下一个地址模板(controller/action) 我们还注册了一个用于创建Controller对象的工厂 RouteTable ControllerBuilder和DefaultControllerFactory都是我们自定义的类型

  public class Global : System Web HttpApplication

  

  protected void Application_Start(object sender EventArgs e)

  

  RouteTable Routes Add( default

  new RouteUrl = controller/action )

  ControllerBuilder Current SetControllerFactory(

  new DefaultControllerFactory())

  

  

  正如上面所说的 ASP NET MVC是通过一个自定义的HttpModule实现的 在这个 迷你版 ASP NET MVC框架中我们也将其起名为UrlRoutingModule 在运行Web应用之前 我们需要通过配置对该自定义HttpModule进行注册 下面是相关的配置

  <configuration>

  <system webServer>

  <modules>

  <add name= UrlRoutingModule

  type= WebApp UrlRoutingModule WebApp />

  </modules>

  </system webServer>

  </configuration>

  到目前为止 所有的编程和配置工作已经完成 为了让定义在HomeController中的Action方法Index来处理针对该Web应用的访问请求 我们需要指定与之匹配的地址(符合定义在注册地址模板的URL模式) 如图 所示 由于在浏览器中输入地址(//…/Home/Index)正好对应着HomeController的Action方法Index 所以对应的方法会被执行 而执行的结果就是将当前请求的目标Controller和Action的名称显示出来 (S )

  图   采用符合注册的路由地址模板的地址访问Web应用

  上面演示了如何在我们自己创建的 迷你版 ASP NET MVC框架中创建一个Web应用 从中可以看到和创建一个真正的ASP NET MVC应用别无二致 接下来我们就来逐步地分析这个自定义的ASP NET MVC框架是如何建立起来的 而它也代表了真正的ASP NET MVC框架的工作原理

       返回目录 ASP NET MVC 框架揭秘

       编辑推荐

       ASP NET开发培训视频教程

       Microsoft NET框架程序设计视频教程

       Java程序性能优化 让你的Java程序更快 更稳定

       Visual C++音频/视频技术开发与实战

cha138/Article/program/net/201311/16113

相关参考

知识大全 基于ASP.NET MVC框架开发Web论坛应用程序[3]

基于ASP.NETMVC框架开发Web论坛应用程序[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 基于ASP.NET MVC框架开发Web论坛应用程序[2]

基于ASP.NETMVC框架开发Web论坛应用程序[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 ASP.NET MVC 3基础教程之Web Pages

ASP.NETMVC3基础教程之WebPages  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!AS

知识大全 ASP.NET MVC

Web开发模式的颠覆者:ASP.NETMVC  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  年月

知识大全 ASP.NET上的另一个MVC实现

ASP.NET上的另一个MVC实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在ASPNET

知识大全 ASP.NET MVC 2.0之MVC框架简介

ASP.NETMVC2.0之MVC框架简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Web

知识大全 ASP.NET MVC创建TaskList应用程序

ASP.NETMVC创建TaskList应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如果

知识大全 详解ASP.NET MVC应用程序请求生命周期

详解ASP.NETMVC应用程序请求生命周期  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当一

知识大全 asp.net、IIS和Web应用程序

asp.net、IIS和Web应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一个Web

知识大全 寄宿多个Web 站点和 ASP.NET 应用程序

寄宿多个Web站点和ASP.NET应用程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  目标