zoukankan      html  css  js  c++  java
  • MVC

    一。 Model

    1.1 在ASP.NET MVC 中 model 负责的是所有与 "数据“  相关的的任务。

      也可以把Model 看成是 ASP.NET  中三层模式的 BLL层 加 DAL层。

    1.2 model层中试用ORM信息反问技术 : LINQ to SQL ,Entity Framework,NHibernate, 等。

      何为 ORM 技术:对象关系映射。

      即:ORM是将结构化的关系型数据,映射到对象模型。如果以 Entity Framework 来说,就是视图将关系数据库的中数据转化成.net原生对象。

    二。 Controller

     2.1 ASP.NET MVC 中的 Controller.

      在 MVC 中所有的Controller都是默认继承自 System.Mvc.Controller

      Controller是一个类,类中有许多Method 也就是 Action 。负责处理浏览器来的所有要求

      也就是浏览器通过 实例化 Controller 类 查找对应的Action。来响应View。

       Controller /Action/id.

    2.2 Controller 必须为公开类别。

      Controller 名称必须以Controller 结尾。

     2.3 当Controller找不到对应Action会默认运行System.Mvc.Controller类别的 HandleUnknownActon 方法。

      会默认响应404找不到资源错误信息。

       在 MVC 中所有的Controller都是默认继承自 System.Mvc.Controller   

     System.Mvc.Controller类别中 ”HandleUnknownActon “ 方法被标注为 ‘virtual’ ,虚方法,这是可以被重写的。‘Override’.

     因此可以在Controller 中自定义找不到Action的方法。

         protected override void HandleUnknownActon(string strName)
            {
                Response.Redirect("http://www.google");
            }
    

    2.4 Controller  中的NoAction

     [NoAction]
     public ActionResult Index()
     {  
     }
    

     使得 Controller 中的公开方法 不发布到到web上 等同于private效果

    2.5 http限定

      httpGet, httpPost,httpDelte,HttpPut,HttpHead,HttpOptions,HttpPatch属性(Attributes)都是动作方法选定器的一份子。

          [HttpGet]
            public ActionResult Index()
            {  }
    

      上面标示只有http Get 请求时ActionInvoker 才会选定这个Action.

    2.6   Controller  中的 ActionResult 

       ActionResult 是Action运行后的回传。

    2.7 Controller  中的 ViewResult

      return View();

       检视 视图返回客户端。 可以选择指定页。

      return View(“AAA”);

    2.8 Controller  中的 PartialViewResult

      与ViewResult 类似。不同点在于,它不能指定页。

    2.8 Controller 中的 EmptyResult.

      不回传。

    2.9 Controller 中的ContentResult.

      return Content(str); 

      输出文字属性 html文本等。

    3.0  Controller 中的FileResult.

     3.1 JavaScriptResult.

      用来响应JavaScript程序代码给浏览器。

          public ActionResult JavaScript()
            {
                return JavaScript("alert('OK')");
            }
    

    3.2 JsonResult.

      返回Json格式。 

         public ActionResult Json()
            {
                return Json(new { id = 1, name = "will" });
            }
    

    3.3 RedirectReult

      重新导向到其他网址。

         public ActionResult Redirect()
            {
                return RedirectPermanent("Home/NewIndex");
            }
    

    3.4  RedirectToRute

      与RedirectReult类似。它会匹配路由。

    3.5 HttpStatusCodeResult,  HttpNotFoundResult,  HttpUnauthorizeResult.

    三 。 View

      View是负责将Controller 传来的数据转换成HTML 格式输出。

    4.1 Razor 。 区别于<%:DateTime.Now %> 

      Razor语法 @DateTime.Now

             @if(ViewBag!=null)
            {
                <span>启用</span>
            }
            else
            {
                <span>禁用</span>
            }    

    4.2 @helper 辅助方法。

     类似自定义函数。

    @helper ShowUnitPrice(int price)
      {
                
      }

    就可以在任何地方调用

    @ShowUnitPrice(model.price)

    4.3 @functions 函数

    4.4 @model 设置页面强类型数据模型

  • 相关阅读:
    【2020-07-04】人生十三信条
    【2020-07-03】人生十三信条
    【2020-07-02】人生十三信条
    【2020-07-01】人生十三信条
    【一句日历】2020年7月
    团队第三次作业评分 需求规格说明书
    软工评分工具
    中期成绩汇总
    软件工程第四次作业评分
    软件工程第五次作业评分
  • 原文地址:https://www.cnblogs.com/dragon-L/p/3742629.html
Copyright © 2011-2022 走看看