ASP.NET MVC学习总结(二)

前不久学习了asp.net的webform,然后才来学习MVC的,感觉思维有了很大的改变,再用webform的思想就有些力不从心了,所以还是的忘记webform的东西,从头再来理解MVC3.0吧,下面就是从简单的开始吧。

  在asp.net的webform中如果要写的话就会写很多的sql语句的,比如:INSERT INTO TABLE(),SELECT。。。。。总之,就是要写大量的sql语句,特别是在复杂的分页sql语句,要是写不好的话还会出现一些意向不到错误,下面来看看MVC3.0中是怎么样的进行增删查改的吧:

(1)、数据的添加,代码如下:

 1   public ActionResult Create(User dpt)
 2         {
 3             var data = db.Departments.OrderByDescending(p => p.Name);
 4             ViewBag.DptName = data;
 5             try
 6             {
 7                 db.Entry(dpt).State = System.Data.EntityState.Added;
 8                 db.SaveChanges();
 9             }
10             catch (Exception ex)
11             {
12                 ViewBag.Ex = ex.Message;
13             }
14 
15             return View();
16         }

看一下代码中着色的代码吧,够简单的吧,它就是这样的简单的,你看了之后还想写sql语句吗?还在为了从前台获取数据写大量的“冗余代码”吗?试试吧!

(2)、下面再来看看删除的代码吧,不用写诸如DELETE。。之类的代码了吧,代码如下:

1   public ActionResult Delete(string LoginName)
2         {
3             User users = new User();
4             users.LoginName = LoginName;
5             db.Entry(users).State = System.Data.EntityState.Deleted;
6             db.SaveChanges();
7             return RedirectToAction("Index", new { id = Request.QueryString["page"] });
8         }

(3)、再给出数据列表的代码吧,如下:

 1  public ActionResult Index(int? id)
 2         {
 3             var list = from p in db.users.Include(p => p.Department) orderby p.ID descending select p;
 4             IEnumerable<User> data = list.ToPagedList(id ?? 1, 5);
 5             if (Request.IsAjaxRequest())
 6             {
 7                 return PartialView("_Index", data);
 8             }
 9             else
10             {
11                 return View("Index", data);
12             }
13         }

怎么样呢?在列表页的数据,你还在为了写分页sql那样复杂的代码愁吗?不要犹豫了,你来试试吧,不过ToPagedList(id ?? 1, 5);是已经实现的方法的哦,在实际的MVC3.0中没有自带的,下次给出不用已经实现的代码的方式,正在不断的总结中。。。。。。。。。

    

posted @ 2012-10-11 23:22  开心学习吧  阅读(2518)  评论(0编辑  收藏  举报