• 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 }

    明天继续,每天一小步!

  • 相关阅读:
    字符串前面加@
    SQL字段类型bit 查询时注意
    SELECT IDENT_CURRENT(tableName)和自增长列的纠结
    解析xml文件 selectSingleNode取不到节点
    【.NET】.NET MVC4 微信扫一扫功能实现附全部代码
    未定义对象
    C# Web开发中弹出对话框的函数[转载]
    json序列化和反序列化
    jq的$.each()方法
    学习URLRewriter.dll的使用
  • 原文地址:https://www.cnblogs.com/holly/p/1660587.html
Copyright © 2020-2023  润新知