一。 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 设置页面强类型数据模型

MVC - Model - Controller - View的更多相关文章

  1. MVC(Model(模型) View(视图) Controller(控制器))

    复习 1.      商品表 增删改查 index.php  add.php   view.php   edit.php   action.php 2.      MVC(Model(模型)  Vie ...

  2. Android之MVC——Model通知View去更新(实用)

    下面两段标红加深的代码是重点: import android.app.Activity; import android.os.Bundle; import android.view.View; imp ...

  3. ASP.NET MVC轻教程 Step By Step 4——Model、View和Controller

    ASP.NET MVC中的Model(数据模型)主要包括定义数据结构.数据库读写.数据验证等等和对象处理相关的工作. 在解决方案资源管理器中找到Model文件夹,点击右键,添加一个新类,名为“Mess ...

  4. What is the difference between Reactjs and Rxjs?--React is the V (View) in MVC (Model/View/Controller).

    This is really different, React is view library; and Rxjs is reactive programming library for javasc ...

  5. 2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系

    也调了快一天,死活找不到窍门. MODEL, STORE,VIEW的调置测试了很久,试了N种方法,不得其果. 最后,试着在APPLICATION里加入CONTROLLER, 在CONTROLLER里加 ...

  6. Asp.Net MVC中Controller与View之间传递的Model

    Controller --> View 的Model 与 提交表单后 View --> Controller 的Model 不是相同的对象,即:这两个Model为不同的指针,指向不同的地址 ...

  7. MVC:Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  8. ASP.NET MVC中controller和view相互传值的方式

    ASP.NET MVC中Controller向view传值的方式: ViewBag.ViewData.TempData 单个值的传递 Json 匿名类型 ExpandoObject Cookie Vi ...

  9. Asp.Net Core 入门(四)—— Model、View、Controller

    和我们学习Asp.Net MVC一样,Asp.Net Core MVC的Model.View.Controller也和我们熟悉的Asp.Net MVC中的相似.不同的是我们在使用Asp.Net Cor ...

随机推荐

  1. curl -I 说明

    curl -I 查看header头信息

  2. 蓝桥杯 算法训练 ALGO-60 矩阵乘法

    算法训练 矩阵乘方   时间限制:1.0s   内存限制:512.0MB 问题描述 给定一个矩阵A,一个非负整数b和一个正整数m,求A的b次方除m的余数. 其中一个nxn的矩阵除m的余数得到的仍是一个 ...

  3. What’s that ALUA exactly?

    What’s that ALUA exactly? 29 September, 20098 Comments Of course by now we have all read the excelle ...

  4. 分布式缓存系统 Memcached 内存管理机制

    在前面slab数据存储部分分析了Memecached中记录数据的具体存储机制,从中可以看到所采用的内存管理机制——slab内存管理,这也正是linux所采用的内存高效管理机制,对于Memchached ...

  5. TCP之一:传输控制协议(Transmission Control Protocol, TCP)

    TCP协议主为了在主机间实现高可靠性的包交换传输协议.本文将描述协议标准和实现的一些方法.因为计算机网络在现代社会中已经是不可缺少的了,TCP协议主要在网络不可靠的时候完成通信,对军方可能特别有用,但 ...

  6. HUSTOJ 昆虫繁殖(递推)

    昆虫繁殖 时间限制: 1 Sec  内存限制: 128 MB提交: 25  解决: 16[提交][状态][讨论版][命题人:quanxing] 题目描述 科学家在热带森林中发现了一种特殊的昆虫,这种昆 ...

  7. Error EBUSY: osd.0 is still up; must be down before removal的解决办法

    标签(空格分隔):ceph,ceph运维,osd故障 集群环境: [root@node3 ~]# cat /etc/redhat-release CentOS Linux release 7.3.16 ...

  8. C#简单操作XML

    类文件: class OperatorXML { /// <summary> /// 确定资源文件路径,Resource为自己创建的目录 /// </summary> priv ...

  9. 实验吧CTF题库-WEB题(部分)

    看起来有点难 提交admin http://ctf5.shiyanbar.com/basic/inject/index.php?admin=admin&pass=admin&actio ...

  10. 【开发工具】最强Git使用总结

    目录 必读材料 常用小结 Git操作流程 Git常用操作命令 - 代码提交和同步代码 Git常用操作命令 - 代码撤销和撤销同步 Git常用操作命令 - 其它常用命令 Git是分布式代码托管的标杆,这 ...