黑马九期mvc声明有些字符串因排版要求换行正常使用应在前加上或保持同一行_第1页
黑马九期mvc声明有些字符串因排版要求换行正常使用应在前加上或保持同一行_第2页
黑马九期mvc声明有些字符串因排版要求换行正常使用应在前加上或保持同一行_第3页
黑马九期mvc声明有些字符串因排版要求换行正常使用应在前加上或保持同一行_第4页
黑马九期mvc声明有些字符串因排版要求换行正常使用应在前加上或保持同一行_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ASP.NetMVC2.0ASP.NETMVC的基本知识SqlServer2008ExpressASP.NETMVC2.0VS2008安装MVC2.0官网:4、降临ASP.NetMVC3.05、基于ASP.NetMVC3.0MusicStore6、ASP.NetMVC心得体会是微软的一个ORM框架O/RMapEF1、新建一个ConsoleApplication,命名为EF2、打开数据库,新建数据库House,Home(Id,intidentity(1,1PRIMARY;Name,nvarchar(32);Address,nvarchar(64)) House.edmx文件和House.Designer.cs文件界面转向edmx设计器(new一个HouseEntitiesHome,上下文和实体中定义的类)staticvoidMain(string[]args){HouseEntitieshouseEntities=newHouseEntities();Homehome=newHome();}{HouseEntitieshouseEntities=newHouseEntities();Homehome=newHome();home.Name=“海景别墅home.Address=“金和}staticvoidMain(string[]{HouseEntitieshouseEntities=newHouseEntities();Homehome=newHome();home.Name海景别墅home.Address=“金和”;}后对上下文操作,将home对象数据添加到网关对应数据中然后调用SaveChanges方法“保存”数据,将数据数据库 1、添加Linq语句(Home是一个集合)varresult=fromhinselectforeach(variteminresult){}varhome1=fromhinhouseEntities.Homewhereh.Id==2selectvarhome1=(fromhinhouseEntities.Homewhereh.Id==selecth).SingleOrDefault<Home>();if(home!={home1.Name=}c SaveChanges方法做了什可用通过SQLServerSQLprofiler在对象模型中:右键->表,可以查看类与数据表的对应关微软图解(ORM的整体概念 1、新建一个ConsoleApplicationEFModel2、添加一个数据模型School.edmx4->实体(Student)->修改实体集(Student)->6、在模型上右键添加一个字段修改Name属性中的类型,注意string类型需要设定最大长度,默认MAX8->->->生成edmx.sql9、edmx.sqlSQL->SQL->->staticvoidMain(string[]{SchoolContainerschoolContainer=newSchoolContainer();Studentstu1=newStudent();Studentstu2=newStudent();stu1.Name=“s1”;stu2.Name=“s2”;}{SchoolContainerschoolContainer=newSchoolContainer();Studentstu1=newStudent();Studentstu2=newStudent();stu1.Name=“s1”;stu2.Name=“s2”;varstu=SchoolContainer.Student.Where<Student>(s=>s.Id==}注:Single与SingleOrDefault的区别在于Single在没有结果错这里不直接使用前面的语法,写个Lambda表达式完成查询->->->选择附加{{}}{Console.Wri}5、另外两个方法.和. {varstu=if(stu!={}}IQueryable接口与IEnumberable接口(使用SQLServerProfiler工具进行2、IQueryable是一个复杂的离线的版本,当在使用的时候才会去数据库中去数据varresults=(fromhinhouseEntities.HomeselectvarresultIQueryable=(fromhinvarresultIEnumberable=(fromhinhouseEntities.Homeselect/flySQLServerProfiler1、工具->SQLServerProfiler->连接所要的数据库->设置属性(一般直接运行LinqToEF(一对多的关系)School.edmx->->->填充属性->->->标量属性(Name)->->->->选择对应类型(1-1,1-n,n-1,n-n)选择Student-Course(1-n)->->SQLstaticvoidMain(string[]args){Studentstu=newStudent();stu.Name=Coursecourse=newcourse.Name宇宙学}staticvoidMain(string[]args){SchoolContainerschoolContainer=newSchoolContainer();Studentstu=newStudent();stu.Name=CoursecoursenewCourse();course.Name=“宇宙学”;};//{SchoolContainerschoolContainer=newSchoolContainer();Studentstu=newStudent();stu.Name=CoursecoursenewCourse();course.Name=“宇宙学”;}{SchoolContainerschoolContainer=newSchoolContainer();Coursecourse=newCourse();course.Name=“宇宙学2”;course.StudentId=1;}EF执行的时候,默认就会加一个比较低级的事务App.config中存放的还有Key,可以传入KeyKey选择连接字符串varresult=fromsinschoolContainer.Studentwheres.Id==1wheres.Course.Count>1selects.Course;{}var<resultName>=<dontainer>.<TableType>.Where<TableType>(<Lambda3、由于上下文的缓存,尽可能的复用,同时由于该因素,上下文会越来越大。WinForm中比较难处理该情况,在Web中可以对Http请求进行分组,每一组new一个上下文EF也是跨数据库支持的

/flyWebForm方式ASP.NetMVC一般常用架构:MVCEFWCF3、可以控制生成自定义的URLASP.NetMVC2、Model主要是或是处理数据的组件4、ControllerMVC请求模型用WebForm中模拟MVCCodeBehind=”Default.aspx.cs”Inherits=”WE._Default”%><asp:LabelID=”Label1”runat=”server”<%=MyNamepublicpartialclass_Default:{privatestringmyName;publicstring{get{returnmyName;}set{myName=value;}{this.Label1.Text=“oMVC”;MyName=“nihao!”;}}MyNameModel,将Page_Load看作ControllerWebForm的开发前代码紧耦合,修改需要前后匹配publicpartialclass_Default:{publicstringMyName{get{returnmyName;}set{myName=value;}publicList<string>Names=newList<string>(){MyName=“nihao!”;}}CodeBehind=”Default.aspx.cs”Inherits=”WE._Default”%><%=MyName<%for(inti=0;i<Names.Count;{<br<span><%=Names[i]<%} CodeBehind=”Default.aspx.cs”Inherits=”WE._Default”%><%=MyName<%for(inti=0;i<Names.Count;{<br<span><%=Names[i]%></span><span><%:Names[i]<%}publicpartialclass_Default:{publicstringMyName{get{returnmyName;}set{myName=value;}publicList<string>Names=newList<string>(){MyName=“nihao!”;}} 因此<%:Names[i]%>等价于<%=HttpUtility.HtmlEncode(Names[i])MVC的第一个项目 2->3Controllers->->这是命名约定,命名为TeacherController,选择添加usingusingSystem.Linq;usingSystem.Web;namespaceMvcApp{{//Get:{}}}在Index方法上右键->添加视图->弹出一个里面包含一个Index.aspx文件<%@PageTitle=””Language=”C#”MasterPageFile=”~/Views/Shared/Site.Master”Inherits=”System.Web.Mvc.Viege<dynamic>”%>在MVC中,请求到Controller中时,系统会判断是那个类的方法publicclass{publicstringId{get;set;}publicstringName{get;set;}publicstringAddress{get;set;}}{{teacher.Address=“nhao”;teacher.Id=“1”;teacher.Name=“malun”;returnView();}}{{teacher.Id=“1”;teacher.Name=“malun”;ViewData[“Teacher1”]=teacher;}}运行returnView()ViewData中的数据交给View<%@PageTitle=””Language=”C#”MasterPageFile=”~/Views/Shared/Site.Master”Inherits=”System.Web.Mvc.Viege<dynamic>”%><%:ViewData[“Teacher1”] publicViewDataDictionary<TModel>ViewData{get;set;在执行View()方法的时候,交给ViewpublicclassTeacherController:{{teacher.Address=“nhao”;teacher.Id=“1”;teacher.Name=“malun”;ViewData[“Teacher1”]=teacher;returnView(“MyPage”);}}注:请求执行过程,会在URL指定的路径下找相应文件和方法如果不存在,则在Shared文件夹下去找即URL后的名字与方法名相同<%@PageTitle=””Language=”C#”MasterPageFile=”~/Views/Shared/Site.Master” ge<MvcApp.Models.Teacher>”%>地址:Model.Address:<%:Model.NamepublicActionResultIndex(){…ViewData.Model=teacher;returnView();}2、每个Controller都对应ViewControllerMVC的模式下,与WebForm1、新建Controller->创建2、根据Action创建View->在Action获取数据产生ActionResult传递给View注:View显示数据的模板请求流程:urlController.ActionView1、View和ControllerModelModel不依View和Controller2、Controller可以直接请求View来显示具体页面,View不依赖与ControllerModels->->数据:ADO.NET实体模型(HouseCtrCtCtr8、在Index方法上添加视图 …<%foreach(variteminModel){

<%:item.ID<%:item.CPU<%:item.Mouse<%}…{HouseContainerhouseContext=newViewData.Model= returnView();}->选择属性(强类型、视图内容:Details)->aspx{HouseContainerhouseContext=newvarresult=fromcin puterwherec.ID==idselectc;ViewData.Model=result.SingleOrDefault<Computer>();}{varresult=fromcin puterwherec.ID==idselectc;returnView(result.SingleOrDefault<Computer>());}publicActionResult{}当提交数据的时候,使用post{{}

{}}15、为Createcreate->->选择视图内容(Create)->form

<%}实际上可以通过Request方法来找到提交的数据,例如{…Request[“input”];//的name…}{… //属性…}publicActionResultCreate(Computer{{}

HouseContainerhouseContextnewHouseContainer();//new一个网{}}16、下面做代码与Details代码几乎相同{HouseContainerhouseContext=newvarresult=fromcin puterwherec.ID==idsel

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论