ASP.NET MVC #01, Create a Movie Database Application in 15 Minutes with ASP.NET MVC

好久没写代码了,对新技术也不是很了解了,现在有一种编程的欲望,就从MVC下手吧,希望对自己不会太难,也不知道自己能够坚持MVC多久,主要从http://asp.net/mvc入手学习,了解一下新技术,呵呵。

愿我在博客园里面茁壮成长,努力坚持。

今天看了文章http://www.asp.net/learn/mvc/tutorial-21-cs.aspx,代码敲了一遍

主要学习到了以下几点:

1)MVC 就是Models, Views和Controllers

2)创建一个简单的页面,然后在里面进行浏览、添加、编辑、删除操作

  具体思路是这样的:

  (1) 先创建一个MVC项目

  (2) 再创建一个数据库,进行数据存储

  (3) 在Models目录下创建一个Entities,用来链接数据 ==> 具体Models是干啥的,现在还不清楚,估计过几天就明白了

  (4) 在Controllers目录下创建HomeController,这个Controller包含 增删查改 功能,默认没有删除,自己增加了一个删除功能

  (5) 通过在HomeController里面的方法,创建出相应的Views,这些View在操作的时候会显示出来

好像就学了这么多

以下是今天敲的一些小代码和小经验,有些是教程里面的,有些是自己琢磨出来的,放到这里,方便以后自己查找:

1)需要创建一个类级别的实例,供以后操作:private MovieDB2Entities _db = new MovieDB2Entities();

2)Create方法,用于增加一条新记录

1 public ActionResult Create()
2 {
3 return View();
4 }
5
6 //
7 // POST: /Home/Create
8
9 //[HttpPost]
10   [AcceptVerbs(HttpVerbs.Post)]
11 public ActionResult Create([Bind(Exclude="Id")] Movie movieToCreate)
12 {
13 try
14 {
15 if (!ModelState.IsValid)
16 return View();
17
18 _db.AddToMovieSet(movieToCreate);
19 _db.SaveChanges();
20
21 return RedirectToAction("Index");
22 }
23 catch
24 {
25 return View();
26 }
27 }

3)Edit方法,编辑一条现有记录

1 public ActionResult Edit(int id)
2 {
3 var movieToEdit = (from m in _db.MovieSet
4 where m.Id == id
5 select m
6 ).First();
7
8
9 return View(movieToEdit);
10 }
11
12 //
13 // POST: /Home/Edit/5
14  
15 [HttpPost]
16 public ActionResult Edit(int id, Movie movieToEdit)
17 {
18 try
19 {
20 var originalMovie = (from m in _db.MovieSet
21 where m.Id == id
22 select m
23 ).First();
24
25 if (!ModelState.IsValid)
26 return View(originalMovie);
27
28 _db.ApplyPropertyChanges(originalMovie.EntityKey.EntitySetName, movieToEdit);
29 _db.SaveChanges();
30
31 return RedirectToAction("Index");
32 }
33 catch
34 {
35 return View();
36 }
37 }

3)Delete方法,删除一条现有记录

1 public ActionResult Delete(int id)
2 {
3 try
4 {
5 var deletedMovie = (from m in _db.MovieSet
6 where m.Id == id
7 select m
8 ).First();
9
10 _db.DeleteObject(deletedMovie);
11 _db.SaveChanges();
12
13 return RedirectToAction("Index");
14 }
15 catch
16 {
17 return View();
18 }
19 }

4)Detail 方法,查看记录更详细信息

1 public ActionResult Details(int id)
2 {
3 var movieDetail = (from m in _db.MovieSet
4 where m.Id == id
5 select m
6 ).First();
7
8 return View(movieDetail);
9 }

5)List 方法

1 public ActionResult Index()
2 {
3
4 return View(_db.MovieSet.ToList());
5 }

明天继续,每天一小步!

原文地址:https://www.cnblogs.com/holly/p/1660587.html