一。 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. laravel 二维码生成器包 QrCode 的使用

    在laravel中使用 QrCode 生成二维码 https://laravelacademy.org/post/2605.html 我在本机的windows下composer require 没有成 ...

  2. mysql各种集群的优缺点

    mysql各种集群的优缺点 1.主从架构:只是有数据备份的功能: 2.主主互备+keepalived:实现数据备份加高可用: 3.主主互备,主主下面分别挂个从: 4.A和B主主互备,把从库都挂到B下, ...

  3. Box2D学习blog

    http://www.ladeng6666.com/blog/category/box2d/

  4. 如何正确且成功破解跨平台数据库管理工具DbVisualizer?(图文详解)

    前期博客 基于JDBC的跨平台数据库管理工具DbVisualizer安装步骤(图文详解)(博主推荐) 上图,所示,说明这个还只是免费版而已,没又破解为Pro版本. 接下来,就是带领大家如何正确且成功破 ...

  5. flask系列三之Jinja2模板

    1.如何渲染模板 模板在‘templates’文件夹下(htnl页面) 从flask中导入render_template函数---渲染html模板 在视图函数中,使用render_template 函 ...

  6. Android 4 学习(10):Adapters简介

    参考<Professional Android 4 Development> Adapters简介 Adapter用于将数据和实现AdapterView接口的ViewGroup绑定在一起. ...

  7. 3.使用Maven构建Web项目

    转自:https://blog.csdn.net/m261030956/article/details/46481837 从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个W ...

  8. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  9. Burpsuite模块—-Intruder模块详解

    一.简介 Burp Intruder是一个强大的工具,用于自动对Web应用程序自定义的攻击,Burp Intruder 是高度可配置的,并被用来在广范围内进行自动化攻击.你可以使用 Burp Intr ...

  10. Python 小练习一

    1.如果同一个ip地址60s之内访问超过200次,那么就把ip加入黑名单 需求分析: 1.60s读一次文件 2.分割,取第一个元素,ip地址 3.把所有ip加入到一个list里面,如果ip次数超过20 ...