zoukankan      html  css  js  c++  java
  • Asp.Net MVC4 + Oracle + EasyUI 学习 序章

    Asp.Net MVC4 + Oracle + EasyUI  序章

    -- 新建微软实例

    本文链接:http://www.cnblogs.com/likeli/p/4233387.html

    1、  简介

           为学习MVC4而写的文章,以项目开发的角度书写。循序渐进,同时也是自己学习的过程,博文编写过程中,我会参考相关专业书籍和网站,尽量编写和描述规范的编码和原理。若是过程中有错误,请各位看官不吝啬指出!

       博文的前10篇左右,应该会主要写MVC4的部分关键技术知识点儿,毕竟要先掌握知识点了,才能开发嘛。

    2、  博文定位

           新手教程,所以适合刚刚准备学习MVC4的博友阅读。不过会讲述很多原理,个人认为,目的是学会如何操作,但是原理也同样重要。授人以鱼不如授人以渔。

    3、  初次接触MVC

           创建微软提供的MVC项目实例,初次接触一下MVC4的特性。

     

    图 1

           这里创建MVC4项目实例,至于最新的MVC5这里并不做样例,该项目是将要在生产环境下运行的项目,所以没有选用MVC5来作为Web框架,采用了前一个版本MVC4。

    图 2

    4、  Razor语言简介

           按照图中的做法,先创建一个MVC4的实例项目,先体验一下MVC4的架构特点以及特性。这里选择Razor视图引擎,较之以前的Web Form引擎,个人感觉清爽了太多。推荐使用Razor引擎。简单介绍一下Razor引擎,Razor是一种允许把代码和内容进行平滑集成的语法,但是注意了,Razor并不是一种新的语法,而是将已知的语言来编写代码,例如我们这里会用的C#,当然其他的语言也行,例如VB.NET。MSDN:Razor语法

     

    图 3

             在创建的默认微软实例中,我们可以看到整个工程的目录结构,途中文档树上黄色黄色标记部分就是MVC的关键结构了,Controller(控制器)、View(视图)、Model(模型)。由于楼主电脑上暂时还没有安装Visio,这里就先不画结构图了,以后补上。

             这里来说说MVC架构的好处吧。MVC模式是一种严格实现应用程序各部分隔离的架构模式。这种“隔离”有一个特响亮的名字“分离关注点”,通俗点儿的名字叫做”松耦合”。因此呢,MVC架构都是以实现应用程序模块之间的隔离为目标的。

             既然都实现了隔离,那么好处就显而易见了,每个组件的独立,相互之间没有直接的依赖。因此在使用单一文件编译组件时,减少了相关组件之间的影响。不会‘牵一发而动全身’。

             其他关于MVC的概念就不多细说,原理方面可以多看看MSDN,网上博主们也说了很多了。

             好了,项目已经创建,先运行一下。该实例中提供基础的MVC编写方式与规范。

     

    图 4

     

    图 5

     

    图 6

    5、  MVC路由

             从上图的访问路径,引入了MVC中的一个重要概念’路由’,用对比来说明把,传统的Web Form架构下,网站的每个URL都是由单个的物理文件.aspx表示的。而Web Form的单个页面和页面类是紧密耦合的,这便是代码后置技术(code-behind),当年微软弄出这个来着实是了不起的,其中的事件驱动模型更是大大提高了web开发的速度,但是现在很多项目处于维护、扩展等多方面的考虑,都放弃了这种模式。

             而MVC的路由是依赖复杂的路由规则动态的映射外部的URL到正确的控制器上,并动态的操作指定要显示的视图给用户。高度的复用,便是路由的强大之处。

             另外补充一点:MVC路由功能并不是只有Asp.Net MVC程序可以使用,其实Web Form同样可以使用的。

     

    图 7

             图中显示的便是MVC下的一个标准路由配置,

    1 routes.MapRoute(
    2                 //路由名称
    3                 name: "Default",
    4                 //URL参数
    5                 url: "{controller}/{action}/{id}",
    6                 //默认参数
    7                 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    8             );
    路由配置说明


             提示一下:MVC的路由中控制器和操作是不区分大小写的,也就是说/Home/Action、/home/Action、/home/action是指向同一个Recent操作上的。
            

             关于路由的原理很复杂,作为新手教程,这里不深入,若有兴趣,之后的文章中做出详细的解释。上面的代码中举例了一个简单的路由配置,Controller指初始的控制器名,注意,不用加上控制器名之后的controller,Action指向控制器方法名,id则为附带参数。这里的默认控制器就是表示,页面指向Home控制器里面的叫做Index的方法。

             附上匹配路由模式的URL及其值:

    URL Controller Action ID
    /auctions/auction/12345 AuctionsController Acution 12345
    /auctions/recent AuctionsController Recent  
    /auctions AuctionsController Index  
    / HomeController Index  

    6、  绑定与压缩

     

    图 8

             MVC4中引入了新的特性之一:绑定和压缩。

             从字面上的意思容易理解,就是将javascript和CSS合并以及压缩,来提高网站的访问速度,其实这种事儿目前很多网站已经很常见了,并不是新鲜事儿了,比如淘宝,看看淘宝首页的源码,就知道PHP的淘宝用了一个插件,将javascript合并了,来提高页面的访问速度。这也是提升客户端体验的重要手段之一。这里同样不详细介绍,之后的文章里面再解说如何使用Asp.Net MVC来绑定压缩这些文件。

    7、  最后

             MVC4中其实除了上面提到的绑定和压缩外,还有异步控制器、显示模式。这两种新特性将在之后的文章中提到。

    9、  参照书籍和网站

             《MVC5 框架揭秘》、《Asp.Net MVC4 Web编程》、MSDN

     8、 相关下载

             文档:http://download.csdn.net/detail/a406502972/8375369

    下一章节:

    Asp.Net MVC4 + Oracle + EasyUI  学习 第一章 使用数据

  • 相关阅读:
    Github开始强制使用PAT(Personal Access Token)了
    STM32F401的外部中断EXTI
    STM32F401的PWM输出
    STM32F103和STM32F401的ADC多通道采集DMA输出
    nRF24L01无线模块笔记
    51单片机(STC89C52)在Ubuntu下的开发
    51单片机(STC89C52)的中断和定时器
    51单片机的软件和硬件PCA/PWM输出
    Zadig 云原生持续交付 面向开发者设计的开源、高可用 CI/CD
    人生 乐观 悲观 英雄
  • 原文地址:https://www.cnblogs.com/likeli/p/4233387.html
Copyright © 2011-2022 走看看