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

最新文章

  1. 使用 iscroll 实现焦点图无限循环
  2. Fedora23Server配置
  3. 最大化 AIX 上的 Java 性能,第 1 部分: 基础
  4. JS实现滚动条滚到页面距离底部300px时执行事件的方法
  5. I.MX6 android 设置 默认 动态桌面
  6. MIS框架开发计划
  7. easyui-treegrid移除树节点出错
  8. Javascript 匀速运动停止条件——逐行分析代码,让你轻松了解运动的原理
  9. 【Unity技巧】开发技巧(技巧篇)
  10. 我不是bug神(JVM问题排查)
  11. 【转载】利用window.performance.timing进行性能分析
  12. hive 数值计算函数
  13. socket,tcp,http三者之间的区别和原理
  14. CC2431 代码分析③-忍辱负重的CC2430
  15. hdu2089-不要62-(数位dp)
  16. 你所不了解的javascript操作DOM的细节知识点(一)
  17. Scala类的构造器与访问器
  18. zabbix rpm 安装 新增zabbix yum 源 并更新
  19. HBase启动后发现HMaster进程消失了
  20. Framework连接oracle数据库以及Cognos服务器出现错误

热门文章

  1. 杂项-操作系统-百科:Solaris
  2. 学习 altera官网 之 timequest
  3. Three.js会飞走飞回来的鸟
  4. php各版本编译好的扩展模块下载地址
  5. sql代码段添加数据
  6. Java微信公众平台开发(一)--接入微信公众平台
  7. idata的各个类型
  8. Hotspot垃圾回收器
  9. jQuery+css模拟下拉框模糊搜索的实现
  10. solrserver实例化