• .NET MVC5简介(一)


    就像是.NET Framework WebApi与.NET Core WebApi一样,.NET Framework MVC与.NET Core MVC的区别,也是框架的之间的区别。本系列先首先从.NET Framework MVC介绍,后面再去介绍.NET Core MVC

    狭义MVC:

      MVC是web开发框架

      M:Models,数据的传递模型,普通的实体

      V:View,用户看到的视图模型

      C:Controller,决定用户使用哪个视图,还能调用逻辑计算,里面的方法叫Action

    广义MVC:

      Model、VIew、Controller

      V:界面

      C:控制,把M和V连接起来

      M:数据和逻辑

      程序的设计模式,一种设计的理念,可以有效的分离界面和业务。

    首先,建立一个FirstController,

    public class FirstController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    }

    返回类型还有ViewResultBase、ViewResult、JsonResult、FilePathResult等,其实这些都继承了ActionResult。

    WebApi是返回数据的,为啥都不都用MVC算了?其实不管是aspx/ashx/WebApi/MVC,都是使用Http协议的,所以一切的请求都可以实现的。

    Aspx:属于比较重的,默认有页面的生命周期---前后端融合,ViewState---跟C/S是一一对应的

    ashx:属于轻量级的,没有页面的概念

    MVC:前后端分离的,C可以任意指定视图,可以踢桃后台多态UI

    WebApi:准人做专事,管道都是独立的;RESTFul,没有action的概念。但是在.NET Core中,二者又融合管道了。

    传值的方式:

    ViewData字段传值,里面是object,需要类型转换。ViewBag,是dynamic传值,可以随便属性访问,运行时检测。以上二者都是会覆盖的,后者为准。Model。传值,适合复杂数据的传递,强类型。TempData,临时数据,可以跨Action后台传递,存在Session里面,用一次就清理掉。

    MasterPage,Layout,默认是_layout,可以自行指定。

    Global。asax,全局式。

    public class MvcApplication : System.Web.HttpApplication
    {
        private Logger logger = new Logger(typeof(MvcApplication));
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
    
            this.logger.Info("网站启动了。。。");
        }
    
    
    }

    Application_Statr()全局启动时执行,且执行一次,非常适合做初始化,也可以静态构造函数。还可以有很多别的。

    dynamic是个动态类型--运行时检测--编译时随便你写
    利用委托的,性能比反射高,可以提供便利
    弱类型语言的特点,方便做一些特殊处理

  • 相关阅读:
    学渣的c#复习手记 类 二 字段与属性
    学渣的c#复习手记 类 一
    一个没有验证的学生文件存储代码(试验报告性质)
    初学C语言之指针:值类型和数组
    增删改查
    python socket的send不能发送字符串解决办法
    正则
    字符串运算符r
    类的私有属性
    运算符重载__add__
  • 原文地址:https://www.cnblogs.com/taotaozhuanyong/p/11569839.html
Copyright © 2020-2023  润新知