1.  MVC篇

MVC个人理解就是利用Model——View——Controller三层表现架构来实现网站的三层架构Data(数据层)——BLL(业务逻辑层)——View(表现层)的功能。即MVC是实现网站三层架构的一种方式。并不是单纯的一一对应关系。

   A.   Model
 a.1. 通过以下步骤添加一个新的 ADO.NET 实体数据模型 项:

    a. 右键点击项目名称, 选择 添加, 然后点击 新建项 选项.

    b. 在 已安装的模板 窗格中选择 数据, 然后选择 ADO.NET 实体数据模型 模板.

    c. 在名称中输入 CSMSModel.edmx.

  这时实体数据模型向导会出现.

  2. 在 选择模型内容 对话框中, 选择 从数据库生成, 然后点击 下一步.

  3. 选择 新建连接. 在 连接属性 对话框中, 在 服务器名称 文本框中输入服务器名 (例如: (localdb)\v11.0). 选择验证方法, 附

        加本地数据库文件, 然后点击 确定. 此时 选择您的数据连接 对话框已经根据你的数据库连接设定更新了. 确保将  

          Web.Config中的实体连接设置另存为 选项被选中,然后点击 下一步.

  4. 在 选择数据库对象 对话框中, 通过选择 表(视图) 选项选中所有表(视图).

  5. 选中 确定所生成对象名称的单复数形式(这里我没选) 和 在模型中加入外键列 选项.


  该向导将执行下列操作:

  • 添加对 System.Data.Entity, System.Runtime.Serialization, 和 System.Security 程序集的引用.
  • 生成一个 CSMSModel.edmx 文件, 该文件定义了概念模型, 存储模型, 和他们之间的映射. 将 .edmx 文件的 生成操作 属
  • 性设置为 嵌入到输出程序集中, 故生成的元数据文件将被嵌入到程序集中.
  • 创建一个包括连接字符串的Web.Config 文件. 对象层的代码将实体类型和上下文(由 System.Data.Entity.DbContext 或
  •  System.Data.ObjectContext 引入)定义为公共语言运行库(CLR)中的类型. 在下一步中, 你将用 DbContext Generator 模
  • 板代替默认生成对对象层代码.

  6. 编译项目.

b.用DbContext生成器模版生成对象层代码

        EF 工具生成概念模型时, 同时也会生成对象层代码. 默认的 生成的对象层代码包括以下内容: 继承了 EntityObject 的可多

识别(persistence aware)的实体类型的定义, 和一个继承了 ObjectContext 的上下文类型, 其中包括对应每个模型的类别

的ObjectSet<TEntity> 类型的属性.


       这里, 我将使用以下内容代替默认生成的代码: 持久未知的(persistence ignorant)实体类型, 也叫 POCO("plain-old" CLR

 objects), 和一个继承自 DbContext, 且包含了 DbSet<TEntity> 类型的属性的上下文类型. DbContext 和 DbSet<TEntity> 包含

了 ObjectContext 和 ObjectSet<TEntity> 类型, 和一个可以执行大多数常见任务的简化 API. 从 EF 4.1 开始, 微软推荐我们使

用 DbContext API.

1. 在实体设计器中打开 .edmx 文件.

2. 在实体设计器的空白区域右击, 然后选择 添加代码生成项.

  在 添加新项 对话框中, 选择 联机模板, 然后在 搜索联机模板 文本框中输入 DbContext Generator.

  为你的模板选择适当的版本 (如果你想使用 EF 5.0 Beta 1 的话则选择 5.0).

  输入模板名称, 然后点确定.

  向导将执行以下操作:

    1.禁用 .edmx 文件中默认的代码生成器, 并将它的 复制到输出目录 属性设置为 不复制.

    2.创建 xxxModel.Context.tt 和 xxxModel.tt 项目文件. 在 xxxModel.Context.tt 文件下, 有一个定义了继续

了DbContext 的上下文类型的文件. 而在 SchoolModel.tt 文件下, 会有一系列定义了 POCO 实体模型的文件.

  如果你创建的是 Visual Basic 项目, 你可能需要在解决方案资源管理器中选中 显示所有文件 才能看到项目中的所

有文件.

PS:如果用的是VS2012,则可省略b步骤,即vs2012直接生成POCO和DbContext类型的代码,如图:

最终结果如图:

DbContext

POCO

B. Controller

因为前台用ExtJS,所以Controller的方法返回类型为JsonResult,但此处用MVC原生的ActionResult做返回类型演示,在ExtJS篇中会有JsonResult的代码(与ActionResult类似)。

真正的业务逻辑层的实现是自定义的方法CRUD(creat,read,update,delete)

表的查询:

按条件查询:

Controller里调用查询方法,返回给视图。

未完待续。。。

2.  ExtJS篇

将controller里的检索到的数据通过Json数据格式返回给ExtJS前台
 controller里的代码如下:
ExtJS中要通过其中的Model&&Store&&Grid结合将数据显示出来
Model:
Store:
通过reader请求controller内数据,映射到Student model中。
Grid:

加载StudentStore显示数据

ps:store也可自定义数据供grid使用,代码如下:

未完待续。。。

ASP.NET MVC3与ExtJS结合建站笔记(要点)相关推荐

  1. 公司官网建站笔记(五):域名工信部备案完整流程并解析公网访问

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/125905952 红胖子(红模仿)的博文大全:开发技术集 ...

  2. 公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页)

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/124659175 各位读者,知识无穷而人力有穷,要么改需 ...

  3. 【建站笔记】apache配置赛门铁克免费ssl证书搭建https

    最近一段时间,我会逐步把自己建站过程中的小笔记整理并发出来,供大家参考 上一篇教程配置了https,但是创建的证书只能自己用,在最后我提了一下赛门铁克的免费证书,那怎么用呢?这里就要简单介绍一下了. ...

  4. 基于WordPress Win 2008 Server建站笔记

    简介 这篇博文对于从零开始建站的小伙伴可能会有所帮助.相信在着手建站之前,大家一定已经看过了很多教程,肯定也发现了教程都各不相同,难免使人迷惑.这里把自己在建站过程中遇到了各种各样奇怪的问题,这里一一 ...

  5. 【Python实战】Django建站笔记

    前一段时间,用Django搭建一个报表分析的网站:借此正好整理一下笔记. 1. 安装 python有包管理工具pip,直接cd Python27/Scripts,输入 pip install djan ...

  6. Node.js建站笔记-使用react和react-router取代Backbone

    斟酌之后,决定在<嗨猫>项目中引入react,整体项目偏重spa模式,舍弃部分server端的模板渲染,将一部分渲染工作交给前端react实现. react拥有丰富的组件,虽然不如Back ...

  7. Linux+Tomcat建站笔记(JDK,Mysql,Vsftpd,Iptables等配置)

    作者:淘特网 出处:www.tot.name 注:转载请注明出处 1.安装Linux,偶安装的是Linux Enterprise As 4,不多说了,网上教程有很多. 注:偶在安装时防火墙级别选择&q ...

  8. 2018年7月第一周网站建站笔记

    这周主要集中对网站的出租房源的优化: {dede:arclist row=1 idlist='6'} <li><a href=[field:arcurl/]>[field:de ...

  9. 用asp.net建立自己的网站过时了吗?vs2017建站测试笔记

    记得long long ago,n years ago用asp.net建立过网站,今天不得以想做一个跨平台的系统,但目前还没有好的工具,不能跨andriod和windows及IOS,那么就做用asp. ...

最新文章

  1. Pandas_transform的用法
  2. 01、python数据分析与机器学习实战——Python可视化库Seaborn
  3. JAVA数据结构与算法【稀疏数组】
  4. RHCSA 系列(十四): 在 RHEL 7 中设置基于 LDAP 的认证
  5. pku 2418 Hardwood Species 字典树
  6. 重写toString()方法(Java篇)
  7. CALL FOR DUTY 来和我们一起冒险吧!
  8. windows下, nginx 提示错误 No input file specified
  9. 工作篇-佛山三水恒大-2020.11.13
  10. redis专题:使用redis实现分布式锁
  11. 【httpClient】Timeout waiting for connection from pool
  12. Chrome开发者工具对于异常请求不显示Response内容
  13. 二路归并排序和多路归并排序
  14. php全套之七,php程序员工具箱
  15. 微信小程序用vant自定义tabbar页面并跳转相应页面
  16. 在Azure上实现Python应用和数据现代化第1部分:简介
  17. 观战朝鲜vs巴西后,给中国足球的两点建议
  18. [名词解释] PATA和SATA I
  19. Linux 时钟中断详解
  20. 【GXOI / GZOI2019】【树链剖分】【线段树】旧词

热门文章

  1. au如何将人相似_【出彩营销人】如何将地产小白培养成开单达人~
  2. iOS --- 使用NSJSONSerialization来解析JSON格式的数据
  3. 儿童学编程,教什么语言好?
  4. 3Dslicer在windows下源码编译源码并打包程序亲测可用
  5. 唯创知音WTV系列语音芯片再启程,传承经典
  6. 插件分享 | 可以连续导入的Censys插件
  7. 个人项目总结-瑞吉外卖/传智健康/黑马点评
  8. jQuery 中的filter 运用
  9. ssh登录显示无法建立连接服务器,SSH无法连接服务器
  10. eggs和egg是什么意思_egg是什么意思