MVC4_EASYUI实现权限管理.docx
文本预览下载声明
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这个权限系统的初步设计-框架搭建,首先我要说的是我们需要开发工具Visual Studio 2012或者10也行,其次是我们要有SQL Server数据库,如果是Visual Studio 2010的话,你还要安装MVC4的开发文件,这个是吗?我不记得了,谁可以回答我一下的,我一直用2012,都是集成好的,所以不太清楚。因为这篇博客比较简单,只是建立一个简单的架构,所以我顺便进行一下MVC的知识补充,后面我也会这样穿插着介绍项目中遇到的技术,下面开始今天之旅。 在学习MVC之前,我们有必要知道这些知识点(自动属性,隐式类型var,对象初始化器和集合初始化器,匿名类,扩展方法,Lambda表达式),如果你还不知道的话就请看我下面的简单的介绍,如果你已经知道的话,就可以掠过这篇博客,看下面我建立的项目的初步图像,然后下篇我们开始简单的介绍。1.自动属性(1)自动属性(Auto-Implemented Properties),C#自动属性可以避免原来我们手工的来声明一个私有成员变量以及和属性get,set的书写。public class Kencery //声明一个Kencery的类{public int ID{get;set;} //主键IDpublic string Name{get;private set;} //只读属性名字public int Age{get;set;} //年龄}2.隐式类型var(1)现在越来越多的项目中你可以看到var,这是什么意思呢?其实这就是C#3.0新特性提供的隐士类型var,var关键字指示编译器根据初始化语句右侧的表达式推断变量的类型。var Kencery=”大家晚上好”; //定义变量var list=new Listint(); //定义一个List集合var Kencery=new{ID=1,Name=”HYL”,age=24} //对象初始化起定义的类型var geners = from n in StoreContract.ProductCatalogswhere n.IsSystem == falseselect n;return View(geners);//Linq的使用,这个在后面我们会大量的使用,大家没学过的可以自学。(2) var有这么大的功能,那么他有什么缺点呢,我们这里列举大致一下1)只有在同一个语句中声明和初始化局部变量时,才能使用var,不能将该变量初始化为null,方法组或者匿名方法。2)不能将var用于类范围的域。3)由var声明的变量不能用在初始化表达式中,换句话说,此表达式是合法的:int i=(i=20);,但是后面的这个表达式会产生编译错误:var i=(i=20)。4)不能在同一个语句中初始化多个隐式类型的变量。5)如果范围中有一个名为var的类型,则var关键字将解析为该类型名称,而不做为隐式类型局部变量声明的一部分去处理。3.匿名类(1)将一组只读属性封装到单个对象中,而无需首先显示定义一个类型,类型名由编译器生成,并且不能在源代码级使用,每个属性的类型由编译器推断。[var](2)用来初始化属性的表达式不能是null,匿名函数和指针类型。var Kencery=new{ID=1,Name=”HYL”,Age=24}4.对象初始化器和集合初始化器(1)对象初始化器是利用了编译器对对象中对外可见的字段或者属性进行按序赋值,在编译还是隐式调用了构造函数,对字段或属性的赋值可以是一个或者多个。ListKencery kencery=new ListKencery{ //Kencery类new Kencery{ID=1,Name=”Hanyinglong”,Age=19},New Kencery{ID=2,Name=”HYL”},null};Person p=new Person{ ID=1,Name=”HYL”,Age=19 };5.扩展方法(1)扩展方法是一种特殊的静态方法,它定义在一个静态类中,但可以在其他类的对象上向调用实例方法那样进行调用。因此,通过扩展方法,我们就可以在不修改一个类型的前提下对一个类型进行功能上的扩充,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方式来完成功能的扩展。(2)在对已有类进行扩展时,我们需要将所有的扩展方法都写在一个静态类中,这个静态类就相当于存放扩展方法的容器,所有的扩展方法都可以写在这里面。扩展方法与普通方法的声明方式不同,扩展方法的第一个参数以this关键字开始,后面跟被扩展的类型,然后才是真正
显示全部