好久没写代码了,对新技术也不是很了解了,现在有一种编程的欲望,就从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 }
明天继续,每天一小步!