MVC3+EF41学习系列(六)-----导航属性数据更新的处理.pdf
上传人:sy****28 上传时间:2024-09-15 格式:PDF 页数:11 大小:310KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

MVC3+EF41学习系列(六)-----导航属性数据更新的处理.pdf

MVC3+EF41学习系列(六)-----导航属性数据更新的处理.pdf

预览

免费试读已结束,剩余 1 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MVC3+EF4.1学习系列(六)-----导航属性数据更新的处理Admin2011年8月1日名人名言:书,这是这一代人对另一代人精神上的遗言,这是将死的老人对刚刚开始生活的青年人的忠告,这是准备去休息的哨兵对前来代替他的岗位的哨兵的命令。——赫尔岑文章索引和简介通过上一篇的学习我们已经知道怎么查询关系这篇就来说说怎么导航属性数据更新时的处理以及EF又会为我们生成哪些SQL~老规矩先看下今天的图添加和修改页面基本就是这样这节的内容相对简单~~主要就是讲一对一一对多多对多时的增删改以及MVC的一些小东西一.一对多的的处理看第一张图院系和课程是一对多的关系1.添加一对多的添加非常简单遇到一对多的情况我们一般考虑dropdownlist来展示只要把这个展示出来就容易了mvc绑定dropdownlist一般是控制器用viewstate存一个SelectList或者viewbag然后视图绑定上代码课程添加控制器publicActionResultCreate(){PopulateDepartmentsDropDownList();returnView();}////POST:/Course/Create[HttpPost]publicActionResultCreate(Coursecourse){try{//TODO:Addlogichereif(ModelState.IsValid){db.Courses.Add(course);db.SaveChanges();//PopulateDepartmentsDropDownList(course.DepartmentID);}returnRedirectToAction("Index");}catch{ModelState.AddModelError("","Unabletosavechanges.Tryagain,andiftheproblempersists,seeyoursystemadministrator.");returnView();}}///<summary>///处理下拉列表///</summary>///<paramname="ed">选择的项</param>privatevoidPopulateDepartmentsDropDownList(objected=null){vardepartmentsQuery=dindb.Departmentsorderbyd.Named;ViewBag.DepartmentID=newSelectList(departmentsQuery,"DepartmentID","Name",ed);}可以看到非常简单下面是视图的视图@modelContosoUniversity.Models.Course@{ViewBag.Title="Create";Layout="~/Views/Shared/_Layout.cshtml";}<h2>Create</h2><scriptsrc="@Url.Content("~/Scripts/jquery.validate.min.js")"type="text/javascript"></script><scriptsrc="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"type="text/javascript"></script>@using(Html.BeginForm()){@Html.ValidationSummary(true)<fieldset><legend>Course</legend><divclass="editor-label">@Html.LabelFor(model=>model.CourseID)</div><divclass="editor-field">@Html.EditorFor(model=>model.CourseID)@Html.ValidationMessageFor(model=>model.CourseID)</div><divclass="editor-label">@Html.LabelFor(model=>model.Title)</div><divclass="editor-field">@Html.EditorFor(model=>model.Title)@Html.ValidationMessageFor(model=>model.Title)</div><divclass=