本文共 1900 字,大约阅读时间需要 6 分钟。
一张Movie表,一张Level表
当添加Movie信息的时候,属性Movie.level从Level表获取,并以DropDown的形式显示,用户填写好信息之后获取用户选中的值提交到后台,保存到数据库。获取数据
** 后台MovieController **public ActionResult Create() { MovieDBContext dbContext = new MovieDBContext(); ViewBag.level = new SelectList(dbContext.Levels, "LevelName", "LevelName"); //将数据库Level表的数据填充到SelectList并通过ViewBag传到前端 return View(); }
** 前端 展示数据**
电影等级@Html.DropDownListFor(Model => Model.level.LevelName,(IEnumerable)ViewBag.level) //因为Movie.level 保存的其实是一个Level类型的对象,但是Dropdown选中的值是一个string值,所以我们将选中的值赋给Movie.level.LevelName
** 后台处理数并添加到数据库 **
[HttpPost] public ActionResult Create(Movie movie) { MovieDBContext dbContext = new MovieDBContext(); Level l = dbContext.Levels.FirstOrDefault(u => u.LevelName == movie.level.LevelName); //通过在前端得到的LevelName属性反过来查到这个对象,并且赋给movie.level movie.level = l; dbContext.Movies.Add(movie); dbContext.SaveChanges(); return RedirectToAction("ListTemplete"); }
** List展示数据的时候 **
@foreach (var item in Model) { @Html.DisplayFor(modelItem => item.Title) @Html.DisplayFor(modelItem => item.ReleaseTime) @Html.DisplayFor(modelItem => item.Genre) @Html.DisplayFor(modelItem => item.Price) @Html.DisplayFor(modelItem => item.level.LevelName) //item.level.LevelName @Html.ActionLink("Edit", "Edit", new { id=item.ID }) | @Html.ActionLink("Details", "Details", new { id=item.ID }) | @Html.ActionLink("Delete", "Delete", new { id=item.ID })
转载地址:http://obbza.baihongyu.com/