asp.net MVC 小白的笔记-说下这几天学习mvc的经历

到现在才来学习mvc,算是有点晚了,接触的比较晚!

首先是接触到了基础的EF,先说下EF,EF是一种ORM(实体映射对象)框架,是基于ado.net的一种开发更便捷的对数据库进行的技术,有2种开发,一种是ModelFirst,就是

先通过新建ado模型,把数据库中的表直接映射到项目中的模型视图

该模型视图下有数据库中的各种字段,并且这些字段会自动生成一个类,映射成一个实体类。还有另外一种就是CodeFirst,顾名思义 就是先写代码,建视图,根据所建的视图,视图之间的关系,关系这里有一个非常重要的导航属性,就是当多张表在一起的时候对应的某种关系,1-多,1-1,多-1,多-多的关系,然后就是根据自己建的视图模型可以生成对应的数据库。

接下来就是关于对数据进行操作的语句,既然是通过映射关系来连接数据库,他这里当然也有像类似于Sql对应的语语句,我想说的就是Lamdar跟linq了,他们的语法比较简洁,先说下linq,他更类似于sql语句,不同的是他是通过EF对数据库进行映射成的一个实体类获取相应的表,在EF类中有DbSet<Users> Users,以这个为例,例如获取表Users中的全部信息就可以这样写 var userInfo=from u in db.Users select u; (这里的u就是对应的可以看做数据库中表映射过来的一个对象,db就是实例化的EF中的类),而相对应的lamdar表达式更简洁 var userInfo=db.Users.where(u=>true)[这里面跟上面一样的意思,=>就是goes to 的意思,也就是去执行,where里面返回true就是执行全部。

接下来还有学到了mvc里面的控制器,跟asp.net不一样的是mvc里面都是表示层,他让客户访问的是控制器(其实就是一个类)下的某个方法,是先通过建控制器,然后里面有某个返回视图的方法,然而就需要建一个视图页面,有aspx页面跟Razior页面(里面的语法更简洁,所以用的比较多),通过访问控制器下的某个方法来返回一个视图而直接显示给用户界面。他里面的很多东西都被封装的很好,有HtmlHelper--微软把html里面的东西封装起来。说到控制器,有好几种类型,空控制器,还有能进行快速列表增删改查的控制器,还有直接引用前面的EF里面所对应生成的实体类的对应的强类型的控制器等等。总之就是各种方便,还有说到对应生成的实体类,有不同的属性标签,例如[Required]相当于js里面的表单验证的类型等等。

还有一个路由的配置,里面说到的是访问的是指的是哪个控制器下的哪个默认的方法,还有路径,当然这里可以有多个,也可以修改

还有MVCAJAX跟之前的ajax是一个意思,例如要显示全部用户名的名字,具体的步骤也是先建控制器,然后建方法,根据所对应的方法来建视图,mvc里面有一个很好的直接转json对象的一个方法,以至于在js脚本里面不用再转json类型

小白目前就只想到这么多,日后继续学习再继续补充!

纯粹是按照自己理解的思路来的,有些没那么标准,不喜勿喷!

时间: 2024-08-27 20:28:46

asp.net MVC 小白的笔记-说下这几天学习mvc的经历的相关文章

学习ASP.NET MVC框架揭秘笔记目录

学习ASP.NET MVC框架揭秘笔记目录 第一章     ASP.NET+MVC 1.1传统的MVC模式 持续更新中,,,,

关于 mvc 中 连字符 - 和下划线 _转换的问题。

[潜水]大崔||哈尔滨(759666247) 10:02:16 如图   C#不承认 "-"[知府]古道今-湖北\xig<[email protected]> 10:03:54 这个无解[潜水]大崔||哈尔滨(759666247) 10:04:03 [知府]古道今-湖北\xig<[email protected]> 10:04:03 除非你用html代码[知府]古道今-湖北\xig<[email protected]> 10:04:09 不然不支持[

JAVA代码规范笔记(下)

声明 17.推荐一行一个声明,因为这样有利于写注释.换句话说,下面的声明方法中, int level; // indentation level int size; // size of table 要优于: int level, size; 绝对不要将变量和方法的声明放在同一行,例如: long dbaddr, getDbaddr(); // WRONG! 不要将不同类型的变量的声明放在同一行,例如: int foo, fooarray[]; //WRONG! 注意:上面的例子中,变量与标识符

CodeIgniter学习笔记(一)&mdash;&mdash;CI简介与MVC设计模式

CodeIgniter的优势: 轻量级框架 出色的性能 广泛兼容标准主机上的各种PHP版本和配置 0配置 不需要使用命令行 不需坚守限制性编码规则 CodeIgniter最新版本的下载地址:http://www.codeigniter.org.cn/ 下载压缩包后解压,包含如下内容: application目录:编写程序的目录,其中包含了实现mvc模式的models.views和controllers目录 system目录:CodeIgniter框架代码,不能修改,否则以后升级时无法替换 use

【UI插件】简单的日历插件(下)—— 学习MVC思想

前言 我们上次写了一个简单的日历插件,但是只是一个半成品,而且做完后发现一些问题,于是我们今天尝试来解决这些问题 PS:距离上次貌似很久了 上次,我们大概遇到哪些问题呢: ① 既然想做一套UI库,那么就应该考虑其它UI库的接入问题 这个意思就是,我们的系统中所有UI插件应该有一些统一行为,我们如果希望统一为所有的插件加一点什么东西,需要有位置可加 这个意味着,可能我们所有的插件需要继承至一个抽象的UI类,并且该类提供了通用的几个事件点 ② 上次做的日历插件虽然说是简单,其耦合还是比较严重的(其实

2014MadCon厦门分享会-笔记(下)

32 <如何与百度互动,不知道这些就不要做SEO了>百度站长平台资深产品运营师 曹丽丽(飞鸟) 33 注意百度站长平台的提醒.如果你不留电话,不留其他联系方式,出问题了,百度怎么提醒你呢? 34 为什么高富帅换域名时很平稳啊?注意使用以下工具:(1)高级互动工具-网站改版(需要提交相关信息,在过度一个月之后,再撤掉原来的域名)(2)抓取异常&拒绝外链(这些都要做好重定向,提前做好准备) 35 搜索结果还是可以出图的,就是在搜索结果中显示出图片(这个需要提供结构化数据) 36 更好收录.

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

Java多线程(全)学习笔记(下)

七.Callable和Future接口 C#可以把任意方法包装成线程执行体,包括那些有返回值的方法.Java也从jdk1.5开始,加入了Callable接口用来扩展Runnable接口的功能,Callable接口提供一个call()来增强Runnable的run().因为call()可以有返回值,可以声明抛出异常. 但是Callable是新增的接口 并没有继承Runnable接口,那么肯定不能作为Runnable target来直接作为Thread构造方法的参数.必须由一个中间的类来包装Call

无废话MVC入门教程笔记

自学mvc,看了园子里李林峰写的李林峰写的无废话MVC入门教程笔记,现在有的平时忽略的或是不太清楚的点记下来 1,Html.DropDownList //服务端写法 @{ //下拉列表的值 List<SelectListItem> selectList = new List<SelectListItem>(); selectList.Add(new SelectListItem { Value = "1", Text = "列表项一" });