博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC - Model - Controller - View
阅读量:4984 次
发布时间:2019-06-12

本文共 2578 字,大约阅读时间需要 8 分钟。

一。 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)        {            启用        }        else        {            禁用        }

4.2 @helper 辅助方法。

 类似自定义函数。

@helper ShowUnitPrice(int price)  {              }

就可以在任何地方调用

@ShowUnitPrice(model.price)

 

4.3 @functions 函数

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

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/dragon-L/p/3742629.html

你可能感兴趣的文章
base64 json
查看>>
在vim中搜索单词
查看>>
设置定点数学属性
查看>>
自动化测试工具 Test Studio入门教程
查看>>
Python之进程线程
查看>>
排序算法(一) —— 冒泡排序
查看>>
No.026:Remove Duplicates from Sorted Array
查看>>
SpringBoot项目的几种创建方式,启动、和访问
查看>>
窗外【1】
查看>>
解决"disabled". Expected Boolean, got Number with value 0
查看>>
Android 四大组件之Service
查看>>
OC--init,initialize,initWithCoder:,initWithFrame:各方法的区别和加载顺序
查看>>
xml.dom.minidom
查看>>
Exponentiation
查看>>
本地jar上传到本地仓库
查看>>
7.14T3
查看>>
四则运算C++带Qt界面版本,吾王镇楼。。。。。
查看>>
各种获取时间的方法包含各类时间格式
查看>>
安卓7.0手机拍照闪退问题解决
查看>>
黑马程序员------IO(一)
查看>>